Google Play - Fully Shadowed apk

后端 未结 19 2856
青春惊慌失措
青春惊慌失措 2020-12-13 17:48

I have an existing app on the PlayStore. I am releasing new version of the app as staged rollout. However, I am not able to publish the app due to \"Fully S

19条回答
  •  情书的邮戳
    2020-12-13 18:13

    We ran into this problem as well with split APKs. We assigned version code for each ABI with the following gradle (simplified):

    ext.abiCodes = ['universal': 0, 'arm64-v8a': 1, 'armeabi-v7a': 2, 'x86': 3, 'x86_64': 4, ...]
    
    android {
    
      applicationVariants.all { variant ->
    
        variant.outputs.each { output ->
          def abiName = output.getFilter(OutputFile.ABI)
          def abiVersionCode = project.ext.abiCodes.get(abiName)
    
          output.versionCodeOverride = variant.versionCode * 100 + abiVersionCode
          ... 
    

    With that we will have these APKs:

    | ABI       | Version Code |
    |-----------|--------------|
    | universal | v100         |
    | arm64-v8a | v101         |
    | arm64-v7a | v102         |
    | ...       | ...          |
    

    And we got this "Fully Shadowed APK" error on APK v101. The reason is that any device that is on arm64-v8a will be able to install v102 since it is backward compatible.

    Problem solved after we make the version code of armeabi-v8a higher than arm64-v7a.

    ext.abiCodes = ['universal': 0, 'arm64-v7a': 1, 'armeabi-v8a': 2, 'x86': 3, 'x86_64': 4, ...]
    

    You should watch out for this too.

提交回复
热议问题