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

无法发布面向Android 12的应用

辛龙野
2023-03-14

向Google Play商店上传应用程序时出错

您上传了一个APK或Android应用程序包,其中包含一个活动、活动别名、服务或带有意图过滤器的广播接收器,但没有设置“Android:exported”属性。此文件无法安装在Android 12或更高版本上。请参阅:developer.android.com/about/versions/12/bhavior-changes-12#导出

具有意图过滤器的所有活动、活动别名、服务或广播接收器都标有android: export

该应用程序安装到运行Android 12的设备和模拟器上,没有错误。此外,Android Studio不会在合并的AndroidManifest文件上报告任何错误。

任何想法,当开发环境没有错误,但谷歌Play商店仍然抱怨时,什么可能是错误的?如何解决这个问题?

共有2个答案

周辉
2023-03-14

Dexguard可能是此问题的原因。将规则< code >-keepresourcexmlattributenames manifest/* * 添加到Dexguard/Proguard文件中。

原答案找到了https://stackoverflow.com/a/70703375/1474153

汪修诚
2023-03-14

我认为你问题中提到的链接本身就回答了问题。

简而言之,如果你的应用程序正在响应系统或其他应用程序,如果这是有意的,那么你需要设置android:exported=true else false。我的意思是,如果你的应用程序活动被任何其他应用程序打开,或者你的应用程序收听其他应用程序的广播,或者你的应用程序启动其他应用程序的任何服务,那么这种情况就涉及到了。

这样做将解决发布应用程序时播放商店上的问题。此评估是在针对android 12时行为改变的一部分

https://developer.android.com/about/versions/12/behavior-changes-12#exported

更新:在你所有的活动、服务、广播等中添加以下标签。< code > Android:exported = " false/true " 基于以上解释。

例如

<service android:name="com.example.app.backgroundService"
         android:exported="false">
    <intent-filter>
        <action android:name="com.example.app.START_BACKGROUND" />
    </intent-filter>
</service>
 类似资料:
  • 我正在尝试构建我的飘飘应用程序来支持Android12。它适用于Android11,但不支持Android12。我试图添加android:导出=“真”或“假”,但不起作用。如果有人知道,请帮忙 错误日志 错误:ADB 已退出,退出代码为 1 正在执行流安装 adb: 无法安装 /用户/什里克里希纳/马诺伊/项目/颤动/我的应用/构建/应用/输出/颤动-apk/应用.apk: 失败 [INSTALL

  • 我正在尝试从Visual Studio发布应用程序,但出现错误: 命令"节点node_modules/webpack/bin/webpack.js--env.prod"以代码1退出。first azure app C:...\firstazureapp C:... firstazureapp\firstazureapp.csproj497 我已经按照这篇文章开始使用Angular 5和ASP. N

  • 我正在尝试登录到通过selenium。不知何故,我无法输入我的凭据。这是我的密码。 我得到的错误是 异常在线程"main"org.openqa.selenium.Timeout异常:预期条件失败:等待可见性的元素位于By.xpath:后代::*[@class='凭据']/后代::输入[1](尝试60秒(s)以500毫秒间隔)构建信息:版本:'4.1.0',修订:'87802e897b'系统信息:主

  • 刚刚将一个应用程序从V12升级到V13-仅在帮助中进行文本更改。工作很好。 上传给开发人员。它不会发布新的APK,说: “无法发布此配置,原因如下:版本12未提供给任何设备配置:所有可能接收版本12的设备都将接收版本13。” 它在说什么?V12是针对40K+设备发布的,我刚刚对其他三个应用程序做了完全相同的事情,没有任何问题,但这一个不会有。 不知道这是什么意思。我能做的就是把它存为草稿。

  • 问题内容: 我是Android应用程序开发的新手。请找到我的AsyncTask代码,用于在用户单击按钮时连接URL。 请参阅我的MainActivity方法: 在这里,我遇到了一个错误。我不知道我的代码有什么问题。谁能帮帮我吗 ? 问题答案: 错了 您不应创建活动类的实例。 活动由开始。 您可以将asynctask设为活动类的内部类,并在其中更新ui 或使用界面 如何从AsyncTask返回布尔值

  • 我有ASP.NETCore C#web应用程序。我做了一些现在使用C#7.1功能的更改。我更改了项目版本,因此它可以编译和运行。但是,当我尝试发布项目时,我收到了一个错误: C# 7.0中没有“默认文本”功能。请使用语言版本7.1或更高版本。 我看到的编译命令是: 正如其他地方建议的那样,我安装了(v2.6.1),但没有任何区别。 是否有专门影响发布的 Visual Studio 设置? 更新:看