默认情况下,Android Studio中的Gradle构建命名为.apk文件app-release.apk。对应用程序build.gradle文件进行了一些小的更改,可以将.apk名称更改为-release-.apk。

需要在app的目录下面修改build.gradle文件。

第一步是将project.archivesBaseName设置为您的应用程序名称。

android {    compileSdkVersion 25    buildToolsVersion "25.0.0"    versionCode 1    versionName "1.0.0"    project.archivesBaseName = "AppName"}

第二步是在该Gradle文件的buildTypes部分添加如下代码:

buildTypes {        release {            minifyEnabled false            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'            applicationVariants.all { variant ->                variant.outputs.each{ output ->                    output.outputFile = new File(output.outputFile.parent,output.outputFile.name.replace(".apk","-" + defaultConfig.versionName + ".apk" ))                }            }        }    }

之前上面那么写是没问题的,当我更新android studio 3.0的时候,再重新打包的时候,就出现了问题,就会报下面的错误;

Error:(23, 0) Cannot set the value of read-only property 'outputFile' for ApkVariantOutputImpl_Decorated{apkData=Main{type=MAIN, fullName=debug, filters=[]}} of type com.android.build.gradle.internal.api.ApkVariantOutputImpl.

简单来说就是我们之前用的outputFile属性是只读的,不能再使用了。所以这里我又换了一种写法:

applicationVariants.all{     variant->variant.outputs.all{//android studio3.0之前的写法 //    output->output.outputFile=new File(output.outputFile.parent,output.outputFile.name.replace(".apk","-"+defaultConfig.versionName+".apk"))//android studio3.0的写法       outputFileName = "${project.archivesBaseName}-${defaultConfig.versionName}.apk"     } }

这就是重命名.apk文件所需要的全部。

//多渠道打包productFlavors{  test{}}
//打包类型buildTypes{  //debug版本  debug{}  //release版本  release{}}

这里需要注意一点就是,如果我们用了productFlavors{}属性,那咱们就不用去添加defaultConfig.versionName了,因为如果添加了,打出包的名称就会多一个versionName
例如:
没有使用productFlavors{}情况下:AppName-1.0.0.apk
使用productFlavors{}情况下:AppName-test-release-1.0.0.apk,如果您加了defaultConfig.versionName,那打出的包就会是AppName-test-release-1.0.0-1.0.0.apk。

修改应用包名的全部内容就这么多了。

快乐生活!快乐工作!快乐编程!

更多相关文章

  1. android 中解析XML的方法
  2. Android(安卓)大文件上传时,处理上传进度问题
  3. Android(安卓)NDK学习(3)使用Javah命令生成JNI头文件 .
  4. Android(安卓)requires compiler compliance level 5.0 or 6.0.
  5. android 获取应用签名文件的sha1值、md5(签名值)、sha256值的方法
  6. Android(安卓)studio配置输出的apk文件名
  7. Ubuntu 14.04 Android(安卓)使用Maven一个 用例project
  8. PANIC: Could not open: /home/wangwei/.android/avd/t2.2.ini
  9. Ubuntu13.04环境下载、编译Android源代码

随机推荐

  1. 【解决方法】Unexpected namespace prefi
  2. Android(安卓)Tips: 打电话和发短信
  3. Android使用Shape实现布局圆角边框
  4. android4.0自定义标题报错 -----断点记录
  5. 【Android】关于android:divider 的用法
  6. Android(安卓)文件夹命名规范 国际化资源
  7. Binder子系统之调试分析(三)
  8. Android使用贝塞尔曲线画心形
  9. 最近总结的android疑惑(三)
  10. Android系列之Android(安卓)命令行手动编