使用Android Studio打包指定名称的Apk
16lz
2021-01-23
在网上找了一些,很多都有错误,因为没有研究过gradle的语法,下面给出一个可用的方法,在build.gradle(module:app)中的android中添加:
android.applicationVariants.all { variant -> variant.outputs.all { output -> def outputFile = output.outputFile if (outputFile != null && outputFile.name.endsWith('.apk')) { outputFileName = "MyApk" + "_" + releaseTime() + ".apk" } } }
其中在gradle文件最外层中定义releaseTime()方法(当然也可以不要这个数据,可根据自己的规则命名):
def releaseTime() { return new Date().format("yyyyMMdd", TimeZone.getTimeZone("UTC"))}
比如这样一个完整的gradle文件如下:
apply plugin: 'com.android.application'def releaseTime() { return new Date().format("yyyyMMdd", TimeZone.getTimeZone("UTC"))}android { compileSdkVersion 26 defaultConfig { applicationId "cn.readsense.fx1000_sample" minSdkVersion 21 targetSdkVersion 26 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" externalNativeBuild { cmake { cppFlags "-std=c++11" } } ndk { abiFilters 'armeabi-v7a' } } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } sourceSets { main { jniLibs.srcDirs = ['libs'] } } android.applicationVariants.all { variant -> variant.outputs.all { output -> def outputFile = output.outputFile if (outputFile != null && outputFile.name.endsWith('.apk')) { outputFileName = "MyApk" + "_" + releaseTime() + ".apk" } } }}tasks.withType(JavaCompile) { options.encoding = "UTF-8"}dependencies { implementation fileTree(include: ['*.jar'], dir: 'libs') implementation 'com.android.support:appcompat-v7:28.0.0-alpha3' implementation 'com.android.support.constraint:constraint-layout:1.1.2' testImplementation 'junit:junit:4.12' androidTestImplementation 'com.android.support.test:runner:1.0.2' androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'}
注:欢迎扫码关注
更多相关文章
- Android文件关联
- Android应用程序的调试方法
- android开关飞行模式的方法
- Android Http请求方法汇总
- 详解Android获取系统内核版本的方法与实现代码
- Android Studio项目应该提交哪些文件到GitHub上
- Android下文件操作模式(含SDCard的读写)