Android -- 打包release版本apk, 动态生成apk版本名, 打包.jar
程序员文章站
2022-11-18 15:51:29
Android – 打包release版本apk, 动态生成apk版本名, 打包.jar一)生成release 版本apk生成密匙(如已有可跳过此步骤)选择新建(create new):选择存储路径+文件名:填写相关信息:密码:上下一致, 后面要用 Alias: 默认值:key0 Certificate: 随意利用上面生成的密钥生成release版本选择上面存放的.jks文件,然后填写密码,alias值与之前一致选择release apk 存放路径(一般为...
Android – 打包release版本apk, 动态生成apk版本名, 打包.jar
一)生成release 版本apk
-
生成密匙(如已有可跳过此步骤)
选择新建(create new):
选择存储路径+文件名:填写相关信息:
密码:上下一致, 后面要用 Alias: 默认值:key0 Certificate: 随意
-
利用上面生成的密钥生成release版本
- 选择上面存放的.jks文件,然后填写密码,alias值与之前一致
- 选择release apk 存放路径(一般为当前项目app路径下), 下面V1, V2 都要勾选,然后点击Finish.
- 选择上面存放的.jks文件,然后填写密码,alias值与之前一致
二)动态生成apk版本名
在项目app下的build.gradle文件下:
-
带app名和版本名:
android{ ... //1. appName + versionName applicationVariants.all { variant -> variant.outputs.all { output -> def appName = "xxx" def outFilename = "appName-versionName.apk" outFilename = outFilename.replace("appName", appName) outFilename = outFilename.replace("versionName", getVersionName()) outputFileName = outFilename } } }
-
带app名和build类型:
android{ ... //2. appName + buildType applicationVariants.all { variant -> variant.outputs.all { output -> def appName = "xxx" def outFilename = "appName-buildType.apk" outFilename = outFilename.replace("appName", appName) outFilename = outFilename.replace("buildType", variant.buildType.name) outputFileName = outFilename } } }
-
带app名,版本号和build类型:
android{ ... //3. appName + versionName + buildType applicationVariants.all { variant -> variant.outputs.all { output -> def appName = "xxx" def outFilename = "appName-versionName-buildType.apk" outFilename = outFilename.replace("appName", appName) outFilename = outFilename.replace("versionName", getVersionName()) outFilename = outFilename.replace("buildType", variant.buildType.name) outputFileName = outFilename } } }
-
带app名和日期(格式可自定义):
android{ ... //4. appName + formattedDate applicationVariants.all { variant -> variant.outputs.all { output -> def formattedDate = new Date().format('yyyyMMdd') def appName = "xxx" def outFilename = "appName-formattedDate.apk" outFilename = outFilename.replace("appName", appName) outFilename = outFilename.replace("formattedDate", formattedDate) outputFileName = outFilename } } }
三)打包项目成xxx.jar文件
-
在app下的build.gradle文件内添加
android{ ... task makeJar(type: Copy) { //删除存在的 delete 'src/main/libs/xxx.jar' //设置拷贝的文件 from('build/intermediates/bundles/release/') //打进jar包后的文件目录 into('src/main/libs/') //将classes.jar放入build/libs/目录下 //include,exclude参数来设置过滤 include('classes.jar') //重命名 rename ('classes.jar', 'xxx.jar') } makeJar.dependsOn(build) }
-
在Terminal输入
#启动task即可在定义的目录—src/main/libs生成xxx.jar $ gradlew makeJar
本文地址:https://blog.csdn.net/weixin_43738911/article/details/108153039