Gradle 多渠道打包的使用和错误分析
2015-05-06 18:25
120 查看
刚接触到android的开发,对什么都陌生的,本文是自己在项目中使用的技术要点总结,大咖遇到可直接飘过。。。。。
1.Gradle 打包(不废话了直接来脚本),将下列脚本放到build.gradle文件android{}内;
然后 使用 gradle clean assembleRelease -d(输出debug信息) 一般就会成功打出360和小米的渠道包。
Notes:
1.混淆文件问题
proguard.ParseException: Unknown option '锘?--dump.txt
先查看混淆配置文件的编码和然后最将文件修改为proguard.cfg,并打开查看文件中命令行被识别为止;
2.引用第三方jar问题
Execution failed for task java.io.IOException: Can't write ‘ ’ Can't read
查看引用第三方jar包是否被多次引用(删除被多次引用jar),引用依赖maven的写法
并且Can't read后面跟着的jar在libs中删除。
(使用Gradle2.2.1 eclipse转android studio项目)
1.Gradle 打包(不废话了直接来脚本),将下列脚本放到build.gradle文件android{}内;
defaultConfig{ //applicationId "" //应用包名 minSdkVersion 9 //sdk最小支持版本 targetSdkVersion 17 //sdk目标版本 versionCode 1 versionName "1.0" //dex突破65535限制 multiDexEnabled true // AndroidManifest.xml 里面UMENG_CHANNEL的value为 ${UMENG_CHANNEL_VALUE} //manifestPlaceholders = [UMENG_CHANNEL_VALUE:""] } //执行lint检查,有任何的错误或者警告提示,都会终止构建,我们可以将其关掉。 lintOptions{ abortOnError false } //签名 signingConfigs{ myConfig{ storeFile file("123456") //签名文件路径 storePassword "123456" keyAlias "123456" keyPassword "123456" } } buildTypes { release { // 不显示Log buildConfigField "boolean", "LOG_DEBUG", "false" //混淆 minifyEnabled true //Zipalign优化 zipAlignEnabled true // 移除无用的resource文件 shrinkResources true //加载默认混淆配置文件 progudard-android.txt在sdk目录里面,不用管,proguard.cfg是我们自己配<span></span>的混淆文件 proguardFiles getDefaultProguardFile('proguard-android.txt') proguardFile 'proguard.cfg' //签名 signingConfig signingConfigs.myConfig } } //flavorDimensions "abi" //渠道Flavors,我这里写了一些常用的 productFlavors { _360 { } xiaomi { } } productFlavors.all { flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name] } applicationVariants.all { variant -> variant.outputs.each { output -> def outputFile = output.outputFile if (outputFile != null && outputFile.name.endsWith('.apk')) { // 输出apk名称为appName_v1.0.apk def fileName = "${variant.productFlavors[0].name}_v${defaultConfig.versionName}.apk" output.outputFile = new File(outputFile.parent, fileName) } } }
然后 使用 gradle clean assembleRelease -d(输出debug信息) 一般就会成功打出360和小米的渠道包。
Notes:
1.混淆文件问题
proguard.ParseException: Unknown option '锘?--dump.txt
先查看混淆配置文件的编码和然后最将文件修改为proguard.cfg,并打开查看文件中命令行被识别为止;
2.引用第三方jar问题
Execution failed for task java.io.IOException: Can't write ‘ ’ Can't read
查看引用第三方jar包是否被多次引用(删除被多次引用jar),引用依赖maven的写法
dependencies { compile 'com.android.support:support-v4:13.0.0' }
并且Can't read后面跟着的jar在libs中删除。
(使用Gradle2.2.1 eclipse转android studio项目)
相关文章推荐
- Gradle 多渠道打包的使用和错误分析(转)
- [置顶] Android 多渠道打包:使用Gradle和Android Studio
- Android Studio使用教程(六):Gradle多渠道打包
- Android Studio 使用Gradle多渠道打包的原理与方法
- 使用gradle进行多渠道打包
- Android Studio使用Gradle多渠道自动打包
- android studio中使用gradle多渠道打包
- 使用gradle多渠道打包
- 【转】Android 多渠道打包:使用Gradle和Android Studio
- Android Studio使用Gradle进行多渠道打包
- Android 使用 Gradle 多渠道打包
- 使用Android studio Gradle 实现友盟多渠道打包
- android Studio 使用gradle 参数解释及多渠道打包
- 使用Android studio Gradle 实现友盟多渠道打包
- Android - Gradle 使用干货 之 生成版本号,打包重命名和多渠道
- Android 使用 Gradle 多渠道打包
- Android 使用gradle的productFlavors实现多渠道打包
- Android快速使用Gradle实现多渠道打包
- 使用gradle多渠道打包
- 使用gradle的productFlavors实现Android项目多渠道打包