我的适用于arm64-v8a ABI的应用APK APK的旧版本正在Play商店中发布吗?

时间:2018-10-25 17:44:24

标签: android google-play apk

正如标题所示,我在Play商店中拥有一个应用程序,该应用程序似乎是作为当前版本的较旧版本分发的,但仅适用于arm64-v8a ABI。在很长一段时间内,这是一个很大的版本差异,所以这不仅仅是我不允许发布时间完成。同样奇怪的是,我可以通过Play商店下载我的应用程序,同时可以通过该应用程序附带的开发者帐户进行身份验证。我以为这是不允许的?看来我也可以给我的应用留下评论,这很奇怪。

我认为这可能与今天早些时候设备上的LineageOS 15.1闪烁有关,但我无法进行验证。

其他信息:

  • 实用程序应用程序将设备的体系结构显示为 aarch64
  • 通过Chrome查看版本时显示的是2.1.9版本 Play商店应用程序正在显示/分发版本2.0.0
  • 开发者控制台显示针对目标ABI的所有预期APK
  • 我能够为此成功下载并安装APK 开发人员仪表板及其功能的架构/设备 符合预期
  • 我能够成功构建应用程序并将其部署到 设备通过Android Studio
  • Google Play版本:12.1.18-全部[0] [PR] 216263519

每个ABI生成版本代码的等级条目:

ext.abiCodes = [
        // Ignoring mips and armeabi
        'armeabi-v7a': 2,
        'arm64-v8a'  : 3,
        'x86'        : 4,
        'x86_64'     : 5
]

import com.android.build.OutputFile

android.applicationVariants.all { variant ->
    variant.outputs.each { output ->
        def baseAbiVersionCode = project.ext.abiCodes.get(output.getFilter(OutputFile.ABI))

        if (baseAbiVersionCode != null) {
            output.versionCodeOverride = baseAbiVersionCode * 10000000 + variant.versionCode
        }
    }
}

我最大的担心是我在分配某些ABI时感到烦恼,但我希望情况并非如此,因为我可以通过开发者控制台下载并安装正确的APK。由于我在Google Play应用中遇到的奇怪问题,我希望这与我今天所做的Flash更加相关。

是什么导致为此ABI分发错误版本的APK?我很乐意提供其他信息。任何帮助将不胜感激!

更新:

发布此问题后,我将gradle迁移到新的应用程序捆绑包中,它似乎已解决了该体系结构的分发问题。我不确定为什么它可以解决问题,因为开发人员控制台中仍然列出了适用于该架构的APK,效果很好。但是,我将保留这个问题,因为我认为这应该适用于ABI拆分。以下是我的更新gradle配置:

应用插件:“ com.android.application” 应用插件:“ kotlin-android” 应用插件:“ kotlin-android-extensions” 应用插件:“ kotlin-kapt” 应用插件:“ com.google.gms.google-services” 应用插件:“ io.fabric”

android {
    compileSdkVersion 27
    defaultConfig {
        applicationId "com.masterwok.bitcast"
        minSdkVersion 16
        targetSdkVersion 27
        versionCode 50000039
        versionName "2.1.10"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

        ndk {
            abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
        }
    }
    buildTypes {
        debug {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility 1.8
        targetCompatibility 1.8
    }
}

dependencies {
    // Left blank for brevity..
}

0 个答案:

没有答案