赞
踩
Build—>Generate Singned Bundle or APK—>APK Next
选择你的密钥,填入key和两个密码,Next
选择Build Variants,签名版本(V1必选,V2可选),Finish
AS就会开始帮我们打包,打包成功后,右下角会有提示:
APK(s) generated successfully for module 'app' with 1 build variant:
Build variant 'xiaomiRelease': locate or analyze the APK.
点击locate,就可以直接访问文件夹找到打包签名完毕后的APK。
可以如下图使用 AS设置签名,点击apply后自动在Gradle中生成代码。
也可以自己复制添加签名代码。
android { ... signingConfigs { sing { storeFile file('your.jks') storePassword 'storePassword' keyAlias = 'keyAlias' keyPassword 'keyPassword' } } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' signingConfig signingConfigs.sing } debug { signingConfig signingConfigs.sing } } ... }
如果我们的app配置了多渠道。我们可以:
Gradle—>app—>build—>assemble+渠道名—>双击Run
即可自动打包对于渠道的APK。
也可以如下图,一键Run打包所有渠道的APK,简单省事。
注意:
android { ... applicationVariants.all { variant -> //release包才执行 if (variant.name != "release") return variant.outputs.all() { output -> def outputFile = output.outputFile if (outputFile != null && outputFile.name.endsWith('.apk')) { //打包时间 yyyy-MM-dd HH:mm def formattedDate = new Date().format('MM-dd_HH.mm') // 自定义文件名 outputFileName = "App-${variant.flavorName}-${variant.buildType.name}_v${defaultConfig.versionName}(${formattedDate}).apk" // 自定义输出路径 variant.getPackageApplication().outputDirectory = new File(rootDir.absolutePath + "/app/apks") } } } }
API ‘variant.getPackageApplication()’ is obsolete and has been replaced with ‘variant.getPackageApplicationProvider()’.
//把getPackageApplication()改成getPackageApplicationProvider().get()即可.
// 自定义输出路径
variant.getPackageApplicationProvider().get().outputDirectory = new File(rootDir.absolutePath + "/app/apks")
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。