刚接触到android的开发,对什么都陌生的,本文是自己在项目中使用的技术要点总结,大咖遇到可直接飘过。。。。。

1.Gradle 打包(不废话了直接来脚本),将下列脚本放到build.gradle文件android{}内;

//applicationId "" //应用包名
//sdk最小支持版本
//sdk目标版本
//dex突破65535限制
true
10
11 //12 //manifestPlaceholders = [UMENG_CHANNEL_VALUE:""]
13 14
15 //执行lint检查,有任何的错误或者警告提示,都会终止构建,我们可以将其关掉。
16 17 abortOnError false
18 19
20 //签名
21 22 23 storeFile file("123456") //签名文件路径
24 storePassword "123456"
25 keyAlias "123456"
26 keyPassword "123456"
27 28 29
30
31 32 33 //34 buildConfigField "boolean", "LOG_DEBUG", "false"
35 //混淆
36 minifyEnabled true
37 //Zipalign优化
38 zipAlignEnabled true
39 //40 shrinkResources true
41 //加载默认混淆配置文件 progudard-android.txt在sdk目录里面,不用管,proguard.cfg是我们自己配<span></span>的混淆文件
42 proguardFiles getDefaultProguardFile('proguard-android.txt')
43 proguardFile 'proguard.cfg'
44 //签名
45 46 47 48
49 //flavorDimensions "abi"
50
51 //渠道Flavors,我这里写了一些常用的
52 53 54 55 56 57 58
59
60 productFlavors.all { flavor ->
61 flavor.manifestPlaceholders =62 63
64
65 applicationVariants.all { variant ->
66 variant.outputs.each { output ->
67 def outputFile =68 if (outputFile != null && outputFile.name.endsWith('.apk')) {
69
70 //71 def fileName = "${variant.productFlavors[0].name}_v${defaultConfig.versionName}.apk"
72 output.outputFile = new73 74 75 }

然后 使用 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项目)