下面介绍的是在eclipse中使用gradle进行多渠道打包(添加签名+混淆)

1,首先新建一个android测试项目,结构如下图所示:

2,选中右键选择expert->生成gradle文件,如下图所示:

3,刷新项目(F5)多了bulid文件和gradle文件夹(如果刷新后并没有出现gradle文件夹,可以手动创建新项目按以上步骤添加一般就会出现,复制到需要打包的项目根目录下即可),如下图所示:

4,打开gradle-wrapper.properties,如下图所示:

去官网下载对应的gradle-1.6-bin.zip,如果不知道怎么在官网下载,可以直接谷歌百度,一般会有.

5,配置gradle环境变量

下载的gradle-1.6-bin.zip解压路径
GRADLE_HOME :

添加到path:

6,测试环境是否配置成功(cmd 输入gradle -v):

7,打开build.gradle准备配置打包

我们要配置的是多渠道,签名,和混淆.

8,配置签名和混淆(在android节点内添加):

signingConfigs {  
        myConfig {  
//填写你的keystore路径和密码们(配置签名)
            storeFile file("D:\\xxx\\xxx\\xxx.keystore") 
            storePassword "xxx"  
            keyAlias "xxx"  
            keyPassword "xxx"  
        }  
    }  
    buildTypes {
        release {
//添加签名
            signingConfig signingConfigs.myConfig
//执行混淆
            runProguard true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-project.txt'
        }
    } 

9,配置多渠道(同样在build文件的android节点中添加):

  productFlavors {  
        baidu {  
            manifestPlaceholders = [ CHANNEL_NAME:"Baidu"]  
        }  
        xiaomi {  
            manifestPlaceholders = [ CHANNEL_NAME:"Xiaomi" ]  
        }  
        wandoujia {  
            manifestPlaceholders = [ CHANNEL_NAME:"Wandoujia" ]  
        }  
        yingyongbao {  
            manifestPlaceholders = [ CHANNEL_NAME:"yingyongbao" ]  
        }  
        huawei {  
            manifestPlaceholders = [ CHANNEL_NAME:"huawei" ]  
        }  
  
    }  
红色文字就是打包写入的渠道名;CHANNEL_NAME是需要在你项目清单文件中配置的相对应:
如果是友盟多渠道,则需要在AndroidManifest.xml中的application节点里添加如下配置:
<meta-data
            android:name="UMENG_CHANNEL"
            android:value="${CHANNEL_NAME}" />
${CHANNEL_NAME}在打包的时候就会被之前配置在build的渠道名替换

10,开始正式打包

在控制台中,进入项目所在的目录,执行gradle clean
 
 
gradle build过程报了几个错:
   1. baidu {  
            manifestPlaceholders = [ CHANNEL_NAME:"Baidu"]  
        }    baidu这个关键词 不能以数字开头
   2.缺少local.properties文件:创建local.properties文件(和混淆文件同目录),添加sdk路径,我的:
      sdk.dir= E:/adt-bundle-windows-x86_64-20140702/sdk
   3.某些 .9.png图片生成不正规 AAPT 工具无法确认 9-patch 图片中的拉伸区域,重新制作,或去掉.9
   4.添加.so的声明(不声明影响功能)sourceSets-main中添加jniLibs.srcDir(['libs'])
   5.打出的包有乱码:首先看下eclipse的编码环境(如是GBK),在android节点中添加 android { compileOptions.encoding = "GBK" } 
 
 
然后执行gradle build
 
release.apk就是我们需要的多渠道包.

ps:不同的项目不同的使用者在打包的时候可能存在一些问题导致打包失败,仔细查看cmd中报错信息都不难解决(可能需要的其他cmd指令:cls->清屏;cd /d 路径->移动到路径文件夹).

Eclipse打包多渠道包的更多相关文章

  1. Eclipse打包多渠道包(库工程版)

    请先移步多渠道打包http://www.cnblogs.com/bhm666/p/6438776.html 自从上次使用了Gradle打渠道包后,遇到了各种各样的问题,不过也是小问题,仍然在几个项目上 ...

  2. [原]Android打包之Eclipse打多渠道包

    Android自动打包流程详细图: 步骤一和步骤二参考:[原]Android打包之Eclipse打包 步骤三:编写build.xml <?xml version="1.0" ...

  3. eclipse打包jar包

    项目右键  选择Export 选择java文件夹 选择 JAR file选择包,类,选择导出路径然后 Finish

  4. Ant自动化打多渠道包,Android批量打包提速

    Eclipse用起来虽然方便,但是编译打包android项目还是比较慢,尤其将应用打包发布到各个渠道时,用Eclipse手动打包各种渠道包就有点不切实际了,这时候我们用到Ant帮我们自动编译打包了. ...

  5. Eclipse导出jar包Unity打包错误

    前几天接SDK使用的是Android Studio昨天打开AndroidStudio后自动更新了gradler然后失败了然后AndroidStudio就挂了.就是用之前的方法Eclipse到处jar包 ...

  6. Eclipse使用总结——使用Eclipse打包带源码的jar包

    平时开发中,我们喜欢将一些类打包成jar包,然后在别的项目中继续使用,不过由于看不到jar包里面的类的源码了,所以也就无法调试,要想调试,那么就只能通过关联源代码的形式,这样或多或少也有一些不方便,今 ...

  7. java eclipse打jar包和执行jar中的main函数

    jar包使用eclipse打包步骤 右键需要打包的项目->选择Export 到这里有两种打包的方式 1.如果项目中没有使用其他第三方包等,则直接选择下图中的第一种即可(JAR file) 2.如 ...

  8. Eclipse打JAR包的使用

    编译Java代码你当然可以直接使用Javac,但对于大多同学还是使用Eclipse编辑器来得快捷.这篇文章来说说我使用Eclipse编译后的执行之路,走路许多弯路,看我一一道来. 演示系统的架构 首先 ...

  9. Gradle 打多渠道包

    使用gradle 打多渠道包记录经验如下图可见,每个渠道是包含debug 和realse版本的.通过打印BASE_URL 发现在渠道和版本中都可以修改BuildConfig的常量,这样一次可以打出多个 ...

随机推荐

  1. C项目实践--贪吃蛇(2)

    12.按键处理 函数名称:key_down 函数功能:按键处理函数,主要包括:1.刚开始或结束时的按键处理,游戏开始时,按任意键进入游戏,游戏运行过程中按回车键是游戏的暂停或开始的切换键:2.游戏运行 ...

  2. HDU1754 —— I Hate It 线段树 单点修改及区间最大值

    题目链接:https://vjudge.net/problem/HDU-1754 很多学校流行一种比较的习惯.老师们很喜欢询问,从某某到某某当中,分数最高的是多少. 这让很多学生很反感. 不管你喜不喜 ...

  3. YTU 2436: C++ 习题 输出日期时间--友元类

    2436: C++ 习题 输出日期时间--友元类 时间限制: 1 Sec  内存限制: 128 MB 提交: 1243  解决: 690 题目描述 设计一个日期类和时间类,编写display函数用于显 ...

  4. Ubuntu如何定时清理内存

    Ubuntu如何定时清理内存 1.进入su jiqing@Ubuntu:~$ su 密码: root@Ubuntu:/home/jiqing# 2.创建cleanCache.sh #!/bin/bas ...

  5. POJ - 1422 Air Raid(DAG的最小路径覆盖数)

    1.一个有向无环图(DAG),M个点,K条有向边,求DAG的最小路径覆盖数 2.DAG的最小路径覆盖数=DAG图中的节点数-相应二分图中的最大匹配数 3. /* 顶点编号从0开始的 邻接矩阵(匈牙利算 ...

  6. linux系统无法上外网,路由器可以上网,可以ping通路由器,ping不通外网IP

    临时生效方法(添加路由网关),执行: #route add default gw 192.168.92.1   #根据实际网关IP填写 如果不行,使用下面方法: 一:使用 route 命令添加使用ro ...

  7. debian webmin 安装

    /******************************************************************** * debian webmin 安装 * 说明: * 在服务 ...

  8. POJ3468:A Simple Problem with Integers (线段树||树状数组||Splay解决基本问题的效率对比)

    You have N integers, A1, A2, ... , AN. You need to deal with two kinds of operations. One type of op ...

  9. Educational Codeforces Round 22 补题 CF 813 A-F

    A The Contest 直接粗暴贪心 略过 #include<bits/stdc++.h> using namespace std; int main() {//freopen(&qu ...

  10. 1.jeesite环境搭建

    安装部署 1. 运行Maven目录下的settings.bat文件,用来设置maven仓库路径,并按提示操作(设置PATH系统变量.配置Eclipse). 2. 执行jeesite/bin/eclip ...