使用packageName + versionCode + versionName

时间:2017-11-16 13:36:04

标签: linux apk rename

我有他们的versionCode命名的APK文件(默认政策,APK是直接从Google提取的)。

运行此命令 - aapt dump badging apk-name.apk | grep package:\ name - 获取包名,versionCode和versionName,新名称都需要三个。

我们以Google地图文件为例。我有这个文件964100232.apk,如果我运行此命令,我可以使用该文件 - aapt dump badging 964100232.apk | grep包:\ name - 它给了我这个输出:

package:name ='com.google.android.apps.maps'versionCode ='964100232'versionName ='9.64.1'platformBuildVersionName ='8.1.0'

我的地图文件名为964100232.apk,我需要将其命名为com.google.android.apps.maps-964100232-9.64.1.apk

我在Linux上需要一个命令/脚本,允许我以递归方式重命名目录中的所有APK文件,但新名称应该是包名-codeCode-versionName格式。

请帮助解决这个问题。我主要在Linux上需要这个,但是Windows修复也可以做到。

谢谢!

2 个答案:

答案 0 :(得分:0)

您可以通过build.gradle文件生成apk名称

    buildTypes {
    release {
        lintOptions {
            disable 'MissingTranslation'
        }
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        applicationVariants.all { variant ->
            variant.outputs.each { output ->

                def flavor = "Test";
                if (variant.productFlavors.size() > 0)
                    flavor = variant.productFlavors.get(0);

                def finalName = flavor.applicationId + "-" + variant.buildType.name + "-v" + variant.versionName + '-' + variant.versionCode + ".apk";
                output.outputFile = new File(output.outputFile.parent, finalName)

            }
        }
    }
}

答案 1 :(得分:0)

APK 批量重命名工具以递归方式抓取输入文件夹及其所有子文件夹,以查找 Android 包文件 (.apk)。它从 apk 的发现中读取标签和版本信息,并在输出文件夹下为每个 apk 创建一个副本,但使用获取的标签和版本信息........

https://forum.xda-developers.com/t/apk-batch-rename-tool-for-windows-and-linux.841312/