原文链接 http://www.jianshu.com/p/93051c9e97fb
http://blog.csdn.net/ylbf_dev/article/details/50750907
http://blog.csdn.net/mynameishuangshuai/article/details/51783303
用Android Studio 打包App时生成的名称默认是 app-release.apk这样的名字
我这里使用Gradle 配置文件修改默认命名格式以更直观管理
我现在格式是这样的
我现在格式是这样的
包名_版本名称_生成时间的哈希-release|debug.apk
例如 com.demo.test_1.0.0.0_480550181-release.apk
实现的方法是在app的module里的build.gradle
文件中,
先在android { ...}
节点外面加上下面的函数 作用是返回时间的哈希值
def releaseTime() {
return new Date().time.hashCode()
}
之后在android { ...}
里面加上下面一段代码,即可修改生成类似上面的apk的文件名。
variant.outputs.each { output ->
def outputFile = output.outputFile
if (outputFile != null && outputFile.name.endsWith('.apk')) {
//这里修改apk文件名
def fileName = outputFile.name.replace("app","${defaultConfig.applicationId }_${defaultConfig.versionName}_${releaseTime() }")
output.outputFile = new File(outputFile.parent, fileName)
}
}
}
是不是这样就好很多了。
新建一个Android工程,默认编译会生成一个叫app-debug.apk或者叫app-release.apk文件,说实话,单纯看文件名,我都不到任何有用的信息,我希望输出的文件名是这样的:
模块名-渠道名-版本号-版本名称-包名-编译时间.apk
当然,这只是举一个例子,可能不需要那么长,具体需要什么就加什么。
实现
通过build.gradle来做,具体看代码
apply plugin: 'com.android.application'
def releaseTime() {
return new Date().format("yyyy-MM-dd", TimeZone.getTimeZone("UTC"))
}
android {
compileSdkVersion 23
buildToolsVersion "23.0.1"
defaultConfig {
applicationId "com.djk.myapplication"
minSdkVersion 14
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
productFlavors{
develop{}
xiaomi{}
huawei{}
anzhi{}
}
android.applicationVariants.all { variant ->
variant.outputs.each { output ->
def outputFile = output.outputFile
if (outputFile != null && outputFile.name.endsWith('.apk')) {
//这里修改apk文件名
def fileName = "demo_${variant.productFlavors[0].name}-${defaultConfig.versionCode}-${defaultConfig.versionName}-${releaseTime() }.apk"
output.outputFile = new File(outputFile.parent, fileName)
}
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.1.0'
}
看看效果
好了,是不是看着好很多。
原文链接:http://www.jianshu.com/p/93051c9e97fb
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。