当前位置: 首页 > 知识库问答 >
问题:

Android:导出需要显式指定

邹坚壁
2023-03-14

当我从0.66.2升级到0.68.2时,我收到了这个错误。

错误

清单合并失败:android:导出需要显式指定。当相应组件定义了意图过滤器时,面向Android 12及更高版本的应用需要为android:导出指定显式值。有关详细信息,请参阅https://developer.android.com/guide/topics/manifest/activity-element#exported。

共有2个答案

米景辉
2023-03-14
匿名用户

如果你设置了android:exported但是不起作用,当你在Android Studio中打开< code>AndroidManifest.xml时,你会看到一个名为Merged Manifest的选项卡。如果单击选项卡,将显示错误内容。

https://imgs.xnip.cn/cj/n/24/86c31eee-46b3-421e-b333-e00faf085b67.png" width="100%" height="100%" />

例如错误消息

Merging Errors: Error: android:exported needs to be explicitly specified for element <receiver#androidx.media.session.MediaButtonReceiver>. Apps targeting Android 12 and higher are required to specify an explicit value for `android:exported` when the corresponding component has an intent filter defined. See https://developer.android.com/guide/topics/manifest/activity-element#exported for details.

在我的例子中,这很困难,因为显示了这个错误,但当我在<code>AndroidManifest中额外插入下面的代码时。xml</code>文件,错误消失。

...
      <receiver android:name="androidx.media.session.MediaButtonReceiver" android:exported="true">
        <intent-filter>
          <action android:name="android.intent.action.MEDIA_BUTTON" />
        </intent-filter>
      </receiver>
...

https://developer.android.com/reference/androidx/media/session/MediaButtonReceiver

希望这对你有帮助!

林元明
2023-03-14

在最新版本的Android中,我们需要显式定义Android:exported的值,用于AndroidManifest中的所有服务和活动。xml</code>文件。

例如:

 <service android:exported="false" android:name="serviceName" />

 类似资料:
  • 我已经检查了清单中的所有活动。xml文件中,所有活动都存在android:exported=“true”,但它始终显示此错误**清单合并失败:需要为元素显式指定android:exported 我的清单文件是 Gradle构建 等待早期响应

  • 当我将目标和编译SDK版本从30更改为31时,我得到一个错误。类似于这个问题,但没有答案。 错误:android:导出需要显式指定。针对Android 12及更高版本的应用程序需要指定一个显式值为时,相应的组件定义了一个意图过滤器。详见https://developer.android.com/guide/topics/manifest/activity-element#exported。 但是,

  • 我试图在Android(Java)集成使用剃刀支付支付网关的支付方法,但每次错误持续存在。应用程序本身,没有什么在它,我只是运行应用程序后添加剃刀支付依赖。我已经尝试了几个类似的问题,但他们都说,明确地添加'android:导出="true",但然后我的应用程序运行正常,当我从build.gradle(应用程序)文件中删除实现com.razorpay:签出:1.6.12'。' 我完全按照razor

  • 我已经探索了很多,我发现在所有活动中,我们需要指定android:导出参数。我已经在清单中的所有活动中添加了参数,但我仍然收到此错误。 清单合并失败:android:需要为显式指定导出

  • 我在一个Jetpack Compose项目中遇到了这个错误。清单合并失败:需要为显式指定android:exported。当相应组件定义了意图过滤器时,针对Android 12及更高版本的应用程序需要为指定一个显式值。看见https://developer.android.com/guide/topics/manifest/activity-element#exported详情 这一切都始于我添加

  • 当我更改目标并将SDK版本从30编译为31时,我得到了一个错误。类似于这个问题,但它没有答案。 错误:android:exported需要为显式指定。当相应的组件定义了意图过滤器时,针对Android 12和更高版本的应用需要为< code>android:exported指定一个显式值。详见https://developer . Android . com/guide/topics/manife