Android 为 Android ABI 生成多个 APK(差异 CPU)

Android Generating Multiple APKs for Android ABIs (diff CPUs)

提问人:Learn2Code 提问时间:9/6/2023 更新时间:9/6/2023 访问量:32

问:

我是 Android 世界的新手,所以直到今天我什至不知道这是一回事!?

我发布了一个 Android 应用程序,其中一位用户联系了我,告诉我他们无法下载我的应用程序/更新,因为 APK 不适用于他们的手机。

如何在 Android Studio 中配置我的项目?!

我目前的 Gradle 文件是:

android {

    compileSdk 33

    defaultConfig {

        applicationId "com.XXX.XXX"
        minSdkVersion 31
        targetSdkVersion 33
        versionCode 47 
        versionName "2.3"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"

    }

    buildTypes {
    
        release {

            minifyEnabled false
            shrinkResources false
            proguardFiles getDefaultProguardFile(
                'proguard-android-optimize.txt'),
                'proguard-rules.pro'

        }

        debug {

            minifyEnabled false
            shrinkResources false
            proguardFiles getDefaultProguardFile(
                'proguard-android-optimize.txt'),
                'proguard-rules.pro'

        }

    }

    compileOptions {

        sourceCompatibility JavaVersion.VERSION_17
        targetCompatibility JavaVersion.VERSION_17

    }

    namespace 'com.XXX.XXX'

}

我一直在网络上搜索,它似乎非常令人困惑,等等......flavorssplitsexternalNativeBuild

我想我已经习惯了 iOS,它真的是一个并完成了......

任何人都可以提供有关如何修改我的 gradle 文件以处理多个 APK 的任何信息......

以及一旦 gradle 文件被更新和编译,在将其提交到 Google Play 商店时如何加载/处理!?

安卓 android-gradle-plugin APK

评论

0赞 Robert 9/6/2023
如果您通过 Play 商店发布应用程序,则不必关心库及其 ABI。您只需上传包含所有内容的 app bundle,Google 就会生成每个设备所需的 APK 文件。如果你想直接提供一个APK文件,你可以简单地过滤ABI,这样就只剩下arm64-v8a(如果你想支持较旧的设备,可能是armv7)。其他 ABI 或多或少无关紧要,因为没有物理设备支持它。
0赞 Learn2Code 9/6/2023
同意,但他们告诉我,由于他们的 CPU,他们无法在 Play 商店中看到更新......所以我和你一样困惑......
0赞 Robert 9/6/2023
您已设置,这意味着只有 Android 12+ 设备才能查看和安装该应用程序。他们很可能使用具有较旧 Android 版本的设备。Google Play 商店从不告诉您为什么看不到应用程序,因此他们猜测是 CPU/ABI。minSdkVersion 31
0赞 Learn2Code 9/6/2023
太棒了,我想这也是我的错,我以为 SDK 31 是 Android 11。
0赞 Robert 9/6/2023
apilevels.com

答: 暂无答案