问题标签 [android-12]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
8 回答
7999 浏览

android - 添加了 android:exported 但仍然出现错误 需要针对 Android 12 及更高版本的应用程序才能为 android:exported 指定显式值

我已添加android:exported="true"到清单中的唯一活动,但在将编译 sdk 和目标 sdk 版本更新为 31 后仍然出现错误。我还尝试重建项目,使缓存无效并重新启动,但这没有帮助

错误- 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.

AndroidManifest 文件

合并清单错误

appcompat-resources:1.3.1 manifest, runtime-livedata:1.0.0 manifest, runtime-saveable:1.0.1 manifest, firebase-measurement-connector:19.0.0 manifest, vectordrawable-animated:1.1.0 manifest, main nav_graph。 xml 导航文件合并错误:错误:需要为 . 面向 Android 12 及更高版本的应用需要为android:exported当相应的组件定义了意图过滤器时。有关详细信息,请参阅 https://developer.android.com/guide/topics/manifest/activity-element#exported。Dairy.app 主清单(此文件)错误:需要为 . 面向 Android 12 及更高版本的应用需要为android:exported相应组件定义了 Intent 过滤器时指定显式值。有关详细信息,请参阅 https://developer.android.com/guide/topics/manifest/activity-element#exported。Dairy.app 主清单(此文件)错误:需要为 . 面向 Android 12 及更高版本的应用需要为android:exported当相应的组件定义了意图过滤器时。有关详细信息,请参阅 https://developer.android.com/guide/topics/manifest/activity-element#exported。Dairy.app 主清单(此文件)

0 投票
1 回答
281 浏览

android - Android TargetSDK 30 包可见性限制不适用于“com.google.android.gms”?

我正在迁移我的 Android 应用程序以符合 TargetSDK 30。对此的限制\更改之一是包可见性限制: https ://developer.android.com/about/versions/11/privacy/package-visibility

谷歌要求应用程序在清单中声明查询元素,如下所示:

没有这个条目,函数调用就像

将导致一个NameNotFouncException.

我已经验证这对于我明确查询的大多数应用程序都是正确的,包括谷歌地图应用程序,并将这些应用程序的包 ID 添加到清单可以解决问题。

但是我看到为 gms packageId 调用此函数:即

context.getPackageManager.getApplicationInfo("com.google.android.gms",0)

我不需要<queries>在清单中声明它!尽管应用程序已迁移到 targetSdk = 30 并在 Android-11/Android-12 设备上运行,但这些函数仍返回正确的值。

我认为一些android库通过清单合并自动注入<queries>for ,但是反编译清单显示没有这样的条目。com.google.android.gms

我很想知道为什么这个包从 tarsget30 SDK 包可见性限制中被跳过,以及是否还有其他这样的包。这是错误还是未记录的功能?

0 投票
1 回答
416 浏览

android - 使用 Targeted SDK 30 的 Android 应用程序无法上网

正如我们所知,谷歌已经更新了他们的政策,新应用程序必须以 Android 11(API 级别 30)或更高版本为目标。如果我使用目标较低的 SDK,我的应用程序将按预期工作,但是当我使用目标 SDK 30 时,它没有按预期工作。

应用程序中有以下主要功能:

  • 适用于 Android 6 至 11(最新 Android 版本)的可用 WiFi 应在列表中可见
  • 单击任何列表项后,用户应连接到他们尊敬的 WiFi。它可以是 OPEN 或其他。
  • 与各自的 WiFi 连接后,如果有,它将重定向到强制页面。Captive 页面将 WebView 放入应用程序。

现在说到重点,我面临着目标 30 SDK 的以下问题。

  • 当我使用最新的建议 wifi 连接代码[1]时,它可以部分工作。有一个问题,假设我们已经连接到另一个 WiFi 连接,我正在尝试连接新的 WiFi,那么它没有连接到新的 WiFi,但我需要连接新的 Wifi。

在具有目标 SDK 30 的应用程序中使用的代码(未与新 Wifi 连接)-

  • 每当我的目标 SDK 为 29 时,我就会使用 WifiNetworkSpecifier [2]方法在 Android 10 和 11 中连接 WiFi。它也可以正常工作。

在应用程序中使用目标 SDK 29 的代码(按预期工作,但目标 SDK 必须为 28 或 29,否则互联网将无法在应用程序中运行)-

  • 使用 Android 9 的旧折旧代码,一切都按预期工作。

    在下面的 Android 9 abd 中使用的代码(按预期工作并且不影响任何目标 SDK)-

    }

结论:当我使用WifiNetworkSpecifier连接到具有目标 SDK 30的可用 WiFi 时,我可以连接,但我的 Internet 只能在 App 中工作。当我使用最新的Suggestion wifi连接到具有目标 SDK 30的可用 WiFi 时,我无法连接到新的 WiFi。我在 Android 10 和 Android 11 设备中遇到了这个问题。

请向我建议解决方案。请检查我的 POC 代码[这里]

0 投票
0 回答
94 浏览

android - Android 12 - Google Pixel 无法从 BubbleActivity 启动 MainActivity

你好 StackOverflow 上的朋友。在 Android 12 Beta Pixel 5 上运行时,我的应用程序出现问题。

当停留在 BubbleActivity 时,我调用了 BubbleActivity#startActivity(MainActivity.class) 但它没有按我的预期工作(最小化 BubbleActivity 并切换到应用程序)。

我附上了一些来自 BubbleActivity#startActivity 的日志

我在 Android 11 上试过,它可以工作。

那么,这里有人遇到同样的问题吗?

0 投票
1 回答
6703 浏览

android - 无法安装应用程序:INSTALL_PARSE_FAILED_MANIFEST_MALFORMED android 12

尝试在 android 12 设备中安装应用程序时出现以下错误。

错误

具有以下目标并编译 sdk 版本

将版本降低到 30 可以正常工作,但是我不能使用android:windowSplashScreenBackgroundandroid 12 设备的启动屏幕背景更改参数

编辑:添加android:exported="true"到所有 <activity>,<service><receiver>组件中<intent-filters>, 启动时应用程序崩溃

崩溃日志

0 投票
1 回答
446 浏览

java - 在android 12中获取设备的唯一设备标识符(IMEI或序列号)

我正在开发一个应用程序,在该应用程序中我将我的应用程序设置为配置文件所有者以获取设备的 IMEI 和序列号。但在 android 12 中,IMEI 和序列号都受到限制,我们无法进一步获取这些参数。您能否让我知道除了使设备系统应用程序或使应用程序设备所有者之外,获取设备的 IMEI 和序列号的其他选项是什么。

0 投票
1 回答
398 浏览

android - 从 Playstore 下载内部测试版时,Android 12 beta 5 应用链接不会自动验证

我有一个应用程序,当我使用文件管理器应用程序或使用 Android adb 工具将应用程序包(apk 文件)安装到 Android 12 设备时,应用程序链接正确地自动验证。

但是,当我从 Google Play 商店应用程序下载该应用程序的内部测试版时,应用程序链接不会自动验证。

这是已知的 Android 测试版错误还是有任何解决方法?其他开发人员是否在您的应用程序中遇到过此问题?

只是为了确认-我已经设置了assetlinks.json和AndroidManifest.xml,以便自动验证应用程序链接,并且在使用文件管理器或adb工具安装apk时它们可以正常工作。

0 投票
0 回答
33 浏览

android - Android:为 Futures 和 AppSearch Android 12 导入哪些依赖项

我正在按照本教程https://developer.android.com/guide/topics/search/appsearch#groovy
使用 AppSearch 制作示例应用程序。但是,当我得到架构部分时,我对“期货”有未知的引用。我试图寻找与 Android 的 Futures concurrent 相关的任何依赖项,我发现了 3 个依赖项,但它并没有解决对“Futures”的未知引用。我也不知道“mExecutor”应该是什么,因为由于未知的引用,我看不到“Futures”类及其功能。

这是我的依赖项:

这是我的代码(与开发人员指南中的完全相同):

如果您对我需要实现的导入有任何想法,或者有任何方法可以使用 kotlin 协程实现相同的目标?

0 投票
1 回答
48 浏览

android - dump_coverage.cc:48] 检查失败:(java_agent_class) != nullptr

我正在尝试使用libdumpcoverage.so. 一个 64 位文件已复制到/system/lib64/&jacocoagent.jar/system/frameworks/.

在根据链接的转储过程中,我在 adb 日志中收到以下错误

我试图与 JaCoCo 团队核实这一点。他们告诉我与 Android 开发人员核实。

0 投票
0 回答
31 浏览

android - 将 compile_sdk 升级到 31 并将 Gradle 版本升级到 7.0.2 后映射崩溃

将 compile_sdk 升级到 31 并将 Gradle 版本升级到 7.0.2 后映射崩溃!

致命异常:android.view.InflateException 二进制 XML 文件行 #40

如果有人对这个问题有任何想法,我会很高兴?