多渠道打包
来源:互联网 发布:matlab 最优化算法 书 编辑:程序博客网 时间:2024/06/10 17:54
友盟多渠道打包
添加依赖:
compile 'com.umeng.analytics:analytics:latest.integration'
添加权限和友盟appkey:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <meta-data android:name="UMENG_APPKEY" android:value="57f894e6e0f55acf8d00002c" />//填写你的appkey <meta-data android:name="UMENG_CHANNEL" android:value="${UMENG_CHANNEL_VALUE}" />//使用占位符,方便多渠道打包
//生成签名文件 signingConfigs { release { keyAlias 'leon' keyPassword '123456' storeFile file('../storekeys/common.jks') storePassword '123456' } debug { } } defaultConfig { applicationId "com.example.leon.autocompletetext" minSdkVersion 15 targetSdkVersion 22 versionCode 1 versionName "1.0" //突破应用方法数65535的一个限制 multiDexEnabled true //占位符 manifestPlaceholders = [UMENG_CHANNEL_VALUE: "umeng"] } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' //添加这一行代码 signingConfig signingConfigs.release } }
三种打包方式:
第一种:比较麻烦
productFlavors { xiaomi { manifestPlaceholders = [UMENG_CHANNEL_VALUE: "xiaomi"] } wandoujia { manifestPlaceholders = [UMENG_CHANNEL_VALUE: "wandoujia"] } }
第二种:最常用
buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' signingConfig signingConfigs.release //指定我们release包的输出文件名就是我们的渠道名称 applicationVariants.all{ variant -> variant.outputs.each{ output -> def outFile = output.outputFile if(outFile != null && outFile.name.endsWith(".apk")){ def fileName = "${variant.productFlavors[0].name}"+".apk" output.outputFile = new File(outFile.parent, fileName); } } } } } productFlavors { xiaomi {//里面什么都不用写 } wandoujia {} baidu {} c360 {} uc {} yingyongbao {} huawei {} sangxing {} oppo {} vivo {} anzhi {} meizu {} ppzhushou {} } productFlavors.all{ flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name] }
第三种:可同时安装多个测试包
与第二种代码区别,主要是在productFlavors{}里面,
注意:使用时,必须将strings.xml的app_name注释掉,否则会报错
productFlavors { okhttp { //在applicationID后面添加后缀,即打包后的名称 applicationIdSuffix "okhttp" resValue "string", "app_name", "okhttp" } jpush { applicationIdSuffix "jpush" resValue "string", "app_name", "jpush" } }
windows下打包命令:
gradlew assembleRelease
0 0
- 多渠道打包
- 多渠道打包
- 多渠道打包
- 多渠道打包
- 多渠道打包
- 多渠道打包
- 多渠道打包
- 多渠道打包
- 多渠道打包
- 多渠道打包
- 多渠道打包
- 多渠道打包
- 多渠道打包
- 多渠道打包
- 多渠道打包
- 多渠道打包
- 多渠道打包
- 多渠道打包
- linux centos 下 ftp服务器配置 :vsftp简易配置 附带功能说明
- 大数据的存储—HBase
- 深浅拷贝以及引用计数
- Mac下github初始化及代码提交
- mysql 远程权限分配
- 多渠道打包
- Vulkan Programming Guide 第一章(1)
- ListView怎么添加表头
- Groovy开发工具包
- 《unix/linux编程实践教程》学习笔记:第五章 连接控制:学习stty
- 活出自己的传奇
- Alamofire的使用和网络请求的封装,解决不能打印中文的问题
- .bash_profile还原重置
- Struts2的国际化文件配置样式以及中文字体设置