本文共 2471 字,大约阅读时间需要 8 分钟。
android { signingConfigs { config { keyAlias 'myapp' keyPassword '123456' storeFile file('H:/android/project/AndroidFire-master/myapp.jks') storePassword '123456' } } compileSdkVersion 24 buildToolsVersion "25" defaultConfig { applicationId "................" minSdkVersion 15 targetSdkVersion 24 versionCode 10 versionName "1.1.0" } buildTypes { release { buildConfigField "boolean", "LOG_DEBUG", "false" //混淆 minifyEnabled false //Zipalign优化 zipAlignEnabled true // 移除无用的resource文件 shrinkResources true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' //apk命名 android.applicationVariants.all { variant -> variant.outputs.each { output -> def outputFile = output.outputFile if (outputFile != null && outputFile.name.endsWith('.apk')) { //这里修改apk文件名 def fileName = "AndroidFire-${defaultConfig.versionCode}-${defaultConfig.versionName}-${releaseTime()}.apk" output.outputFile = new File(outputFile.parent, fileName) } } } signingConfig signingConfigs.config } debug { buildConfigField "boolean", "LOG_DEBUG", "true" minifyEnabled false zipAlignEnabled false shrinkResources false } } //设置虚拟机堆内存空间大小,避免在编译期间OOM dexOptions { incremental true javaMaxHeapSize "4g" } //打包不检查 lintOptions { checkReleaseBuilds false abortOnError false }}
如果你的classPath>3.0 会报错 应当使用
applicationVariants.all { variant -> //批量修改Apk名字 variant.outputs.all { output -> if (!variant.buildType.isDebuggable()) { //获取签名的名字 variant.signingConfig.name //要被替换的源字符串 def sourceFile = "-${variant.flavorName}-${variant.buildType.name}" //替换的字符串 def replaceFile = "gxb_v${variant.versionName}_${variant.productFlavors[0].name}_${variant.buildType.name}" outputFileName = output.outputFile.name.replace(sourceFile, replaceFile); } } }
转载地址:http://iqpr.baihongyu.com/