Android studio used to generate 1 release apk, now it's 3. What does each of them do?

前端 未结 1 1126
暖寄归人
暖寄归人 2021-01-12 17:29

So I haven\'t released in a while. Android Studio used to generate only one apk, which was a release version. This time it generated 3 like the following:

1         


        
相关标签:
1条回答
  • 2021-01-12 18:06

    The generated apks each is for specific CPU Architecture. They usually are generated when using a native library inside the apk (more at Add C and C++ Code to Your Project). You can read about it in ABI Management, here the excerpt:

    Different Android handsets use different CPUs, which in turn support different instruction sets. Each combination of CPU and instruction sets has its own Application Binary Interface, or ABI. The ABI defines, with great precision, how an application's machine code is supposed to interact with the system at runtime. You must specify an ABI for each CPU architecture you want your app to work with.

    Each will contain specific instruction for the Architecture, except the app-universal-release.apk.

    app-armeabi-v7a-release.apk is for v7-a ARM devices

    app-x86-release.apk is for "x86" or "IA-32"

    app-universal-release.apk contains both of the specific instruction in app-armeabi-v7a-release.apk and app-x86-release.apk

    You can use just the universal one, but you probably will not want to use it if the generated apk is too big. User tend to avoid a big application in the play store. So, to overcome this, you need to break the apk to a specific one so the resulted apk is smaller.

    If you don't want to use the universal one, then you need to upload each of the specific apk to the Play Store. When user visit the application in the Play Store, he/she will be served with the specific apk matching with his/her device CPU type.

    0 讨论(0)
提交回复
热议问题