我的应用程序遇到了以下问题-它无法从Play Store安装在Android 12及以上的设备上(帖子底部的Play Store应用程序错误对话框)。
这个问题最近才出现,大概是从Google Play商店的版本31.9.13-21 [0] [PR] 467268234开始的。
其他一些事实:
- 使用运行配置中的选项“APK from app bundle”从Android Studio安装应用程序可以正常工作。
- 从Google Play控制台安装通用APK工作正常。
- 使用
bundletool
安装APK工作正常。 - 删除Play Store更新可修复此问题。更新可从Play Store应用设置中删除。
从Play Store安装时,Logcat包含以下错误:* 安装失败无效APK:完整安装必须包括一个基础包 *.似乎这个错误是由Android系统的类抛出,更具体地说,在这里(谷歌源代码).据我所知,这意味着无效的apk集是从捆绑包生成的,没有主(或基础apk).
应用程序模块的build.gradle.kts
代码段(无依赖项):
plugins {
id("com.android.application")
kotlin("android")
id("kotlin-parcelize")
id("com.google.gms.google-services")
id("com.google.firebase.crashlytics")
id("google-play-publisher")
id("appcenter")
id("com.huawei.agconnect")
id("app-gallery-publisher")
}
android {
compileSdk = 31
defaultConfig {
applicationId = "com.some.example"
minSdk = 24
targetSdk = 30
versionCode = Versions.versionCode
versionName = Versions.versionName
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
ndk {
abiFilters.addAll(setOf("armeabi-v7a", "x86", "arm64-v8a", "x86_64"))
}
}
compileOptions {
sourceCompatibility(JavaVersion.VERSION_11)
targetCompatibility(JavaVersion.VERSION_11)
}
kotlinOptions {
jvmTarget = "11"
}
buildTypes {
getByName("release") {
isShrinkResources = true
isMinifyEnabled = true
proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro")
proguardFiles(*fileTree("$rootDir/proguard").files.toTypedArray())
signingConfig = signingConfigs.getByName("release")
}
getByName("debug") {
signingConfig = signingConfigs.getByName("debug")
}
}
packagingOptions {
exclude("META-INF/LICENSE.md")
exclude("META-INF/LICENSE-notice.md")
}
buildFeatures {
viewBinding = true
}
bundle {
language {
enableSplit = false
}
}
}
应用模块的AndroidManifest.xml
:
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.some.example">
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission
android:name="android.permission.MANAGE_EXTERNAL_STORAGE"
tools:node="remove"
tools:ignore="ScopedStorage"/>
<application
android:name="AppName"
android:allowBackup="false"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:networkSecurityConfig="@xml/network_security_config"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme"
tools:replace="android:allowBackup">
<activity
android:name="SomeActivityName"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:scheme="somescheme"/>
</intent-filter>
<intent-filter android:autoVerify="true" tools:targetApi="m">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:scheme="https"
android:host="some.host"
android:pathPrefix="/prefix" />
<data
android:scheme="https"
android:host="some.host"
android:path="/path/"/>
</intent-filter>
</activity>
</application>
</manifest>
1条答案
按热度按时间scyqe7ek1#
在build.gradle.kts文件中将compileSdk和targetSdk更新为33。