记录Android打包重命名并区分abi包

122 阅读1分钟

build.gradle 配置如下

android {

    defaultConfig {
        applicationId "com.xxx.xxx"
        minSdk 24
        targetSdk 28
        versionCode 1
        versionName "1.0.0"
        multiDexEnabled true

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"

        //查看CPU类型arm架构:adb shell getprop ro.product.cpu.abi
        splits{
            abi{
                enable true
                reset()
                include 'arm64-v8a','x86','x86_64','armeabi-v7a','armeabi-v8a'
                universalApk true
            }
        }
    }

    applicationVariants.all { variant ->
        variant.outputs.each { output ->
            def createTime = new Date().format("YYMMddhhmm", TimeZone.getTimeZone("GMT+08:00"))
            def abi = output.getFilter(com.android.build.OutputFile.ABI)
            def newName = "TEST_APP" +
                    "_v${defaultConfig.versionName}" +
                    "_c${defaultConfig.versionCode}" +
                    "_${createTime}" +
                    "_${variant.name}" +
                    "_${abi}" +
                    ".apk"
            output.outputFileName = newName + ".apk"
        }
    }

    buildTypes {
        release {
            buildConfigField "String", "API_URL", ""https://192.168.1.100:8080/""
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
        debug {
            // 测试服务器的API地址
            buildConfigField "String", "API_URL", ""https://192.168.1.100:8099/""
            minifyEnabled false
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    viewBinding {
        enabled true
    }
    sourceSets {
        main {
            jniLibs.srcDirs = ['libs']
        }
    }
}

打包版本如下图 image.png