问题标签 [target-sdk]

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 投票
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 投票
2 回答
86 浏览

android - MY_PACKAGE_REPLACED 停止工作 - 如何找到应用升级 android

我想找到我的应用程序的升级。所以我一直在使用这个代码来找到它 PACKAGE_REPLACED,但突然我无法接收到我的应用程序包替换的事件。

我改为 MY_PACKAGE_REPLACED。还是同样的问题。

分析了一些堆栈溢出问题。没运气。尝试了所有的答案。

我的目标 sdk 版本是 30:

清单代码:

收货人代码

0 投票
2 回答
127 浏览

android - Android Studio minSdkVersion、targetSdkVersion和minSdk、targetSdk有什么区别?

我将 Target SDK 版本从 30 更改为 31,将 Min SDK 版本从 19 更改为 22。在 build.gradle 中,minSdkVersion、targetSdkVersion 和 targetSdk 相应更改,但 minSdk 除外。现在还是 19 岁。

  • minSdkVersion、targetSdkVersion 和 minSdk、targetSdk 有什么区别?

  • 我应该将 minSdk 更改为 22 还是忽略它?

0 投票
0 回答
47 浏览

android - 在 Android 11 及更高版本中使用 Sope Storage 获取下载的文件

我有一个安卓应用程序。它有一个下载管理器来下载 APK 文件(保存在下载目录中),我想在下载后获取并安装 APK 文件。它在低于 11 的 Android 上正常工作,但从 Android 11 开始,我们需要使用 Scope Storage API 而不是从 Environment 方法获取文件。此外,我在其中使用管理外部存储来获取文件,但谷歌拒绝了我的应用程序,因为它说:

“您已请求访问所有文件访问权限,但您的应用程序的核心功能似乎只需要访问媒体文件。”

那么你能否给我任何方法来获取我下载到下载目录中的下载文件并将其 URI 发送到 Android 包管理器进行安装?