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

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

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

http://www.cnblogs.com/aland/p/4482825.html

最新文章

  1. 同步辅助类CountDownLatch用法
  2. [C#] 逆袭——自制日刷千题的AC自动机攻克HDU OJ
  3. delphi 各新版本特性收集
  4. 定时调度框架Quartz随笔
  5. KMP---Count the string
  6. C#给文件夹添加权限
  7. Java基础01 ------ 从HelloWorld到面向对象
  8. 自定义对话框 提示:Unable to add window token null is not for an application
  9. JAVA组程序优化综合考试试题
  10. Highcharts条形与柱形同时显示
  11. 搞一个app需要多久?
  12. Android网络编程之Http通信
  13. 【C#】面试题整理
  14. 【数据库系列学习一】Access与Excel的区别和联系
  15. STL deque
  16. 【easy】479. Largest Palindrome Product
  17. 三、Java多人博客系统-技术架构
  18. centos swap
  19. 排序(I)
  20. jmeter --http属性管理器

热门文章

  1. 《Struts2技术内幕》学习笔记
  2. Swift - 微调器或叫步进器(UIStepper)的用法
  3. ADO异步查询显示进度条
  4. [置顶] Cocos2d-x 实例源码分析之二 小实例的主框架
  5. kill命令&quot;-1&quot;这个参数到底是杀进程还是reload?(转)
  6. 【前段开发】10步掌握CSS定位: position static relative absolute float
  7. Redis最有用的中文资源,你值得拥有
  8. 怎样用js得到当前页面的url信息方法(JS获取当前网址信息)
  9. 使用U盘进行Linux系统的安装
  10. 设置SVN忽略文件和文件夹(文件夹)