Android Studio Gradle自动打包文档
来源:互联网 发布:水杉软件下载 编辑:程序博客网 时间:2024/06/10 01:17
背景
为了保证App上线前测试环境正式环境切换不需要改变代码,提高效率,使用Gradle脚本配置正式包和测试包。
Gradle配置与打包 build.gradle 文件的配置
buildTypes { /** 正式环境*/ release { /** 定义开关*/ buildConfigField("boolean", "IsDebug", "false") /** 定义正式环境 腾讯云bucket*/ buildConfigField("String", "TENCENT_UPLOAD_BUCKET", "\"topworld\"") /** 定义正式环境 HOST*/ buildConfigField("String", "HOST", "\"www.lovbook.net\"") /** 打开 代码混淆*/ minifyEnabled true /** 打开 应用程序进行优化*/ zipAlignEnabled true /** 打开 移除无用资源*/ shrinkResources true /** 加载 签名文件*/ signingConfig signingConfigs.release /** 加载 混淆文件*/ proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' /** 输出 混淆apk release_vxx_codexx_yyyyMMddHH.apk*/ } /** 测试环境*/ debug { /** 定义开关*/ buildConfigField("boolean", "IsDebug", "true") /** 定义测试环境 腾讯云bucket*/ buildConfigField("String", "TENCENT_UPLOAD_BUCKET", "\"lovebook\"") /** 定义测试环境 HOST*/ buildConfigField("String", "HOST", "\"api.lovbook.net\"") /** 关闭 代码混淆*/ minifyEnabled false /** 关闭 优化*/ zipAlignEnabled false /** 关闭 移除无用资源*/ shrinkResources false /** 加载 签名文件*/ signingConfig signingConfigs.debug /** 输出 apk debug_vxx_codexx_yyyyMMddHH.apk*/
其中release版本的log默认关闭,如果需要在该环境下看log,修改lovebook module的gradle配置文件。将IsDebug变量修改为true。
release { /** 定义开关*/ buildConfigField("boolean", "IsDebug", "true") }
在release版本中开启“shrinkResources true”,移除无用资源,会导致某些书籍的详情页面图片显示为黑框。是因为移除了不应该被移除的资源导致。所以release版本中该开关暂时关闭设置为false。后期继续优化这个问题。
代码中的配置:
在BuildConfig类中会生成如下代码:
gradle签名文件的获取
signingConfigs { release { try { storeFile file(RELEASE_STOREFILE) keyAlias RELEASE_KEY_ALIAS keyPassword RELEASE_KEY_PASSWORD storePassword RELEASE_STOREPASSWORD } catch (ex) { throw new InvalidUserDataException("You should define KEYSTORE_PASSWORD and KEY_PASSWORD in gradle.properties."); } } debug { } }
keystore签名文件的保存
签名文件keystore密码的常量配置在gradle.properties文件中(原则上这个文件不上传SVN):其中RELEASE_STOREFILE 对应你自己签名文件的路径。
编译app
生成apk配置完毕之后,重新编译之后,这时候AndroidStudio工具栏的左下方的Build Variants窗口里面的lovebook Module可以选择编译方式:release 和debug
(打包之前clean一下项目)
选择完毕,连接手机,运行编译器。会安装对应的relase或者debug包。同时在你的项目目录D:\as_pj\androidProject\lovebook\build\outputs\apk 也会生成对应的apk文件。
使用命令行打包
可以使用androidstudio工具下的 命令行使用gradlew命令进行打包,然后根据需要执行(1)/(2) /(3),生成的文件在 app–>build–>outputs–>apk下
(如果配置了gradle的环境变量 也可以使用gradle命令进行操作)。
(1). gradlew build <注:这个是打所有的包>
(2). gradlew assembleDebug <注:这个是打Debug包>
(3). gradlew assembleRelease <注:这个是打Release包>
总结
后期会根据情况添加多渠道打包.
- Android Studio Gradle自动打包文档
- Android Studio使用Gradle多渠道自动打包
- android studio gradle 打包
- android studio gradle 打包
- android studio gradle打包
- Android Studio设置自动打包环境-Gradle buildTypes配置
- Android Studio Gradle 多渠道打包
- Android Studio--Gradle多渠道打包
- Android Studio--Gradle多渠道打包
- Android studio gradle 多渠道打包
- Android Studio Gradle多渠道打包
- Android studio gradle 多渠道打包
- Android Studio--Gradle多渠道打包
- Android Studio Gradle多渠道打包
- android studio gradle 多渠道打包
- android studio命令打包(gradle)
- Android Studio Gradle多渠道打包
- 【Android Studio】gradle多渠道打包
- WindowManager和WindowManager.LayoutParams的使用以及实现悬浮窗口的方法
- 最大子矩阵和
- swoole给特定用户推消息--基础思路
- Nginx与Apache优缺点比较
- GPS精确授时方法研究-基于ublox GPS
- Android Studio Gradle自动打包文档
- 漫步最优化二十四——二分搜索
- 排序算法的java实现-冒泡排序
- 查看Android SQLite数据库adb,error: more than one device and emulator
- python 文件压缩
- Android 自定义控件之Scroller与computeScroll的调用关系
- AngularJS依赖注入 constant 常量注入组件
- 我的2017杭州云栖大会参会体验(多图)
- Spring 配置异常解决办法之Referenced file contains errors (http://www.sp