下面介绍的是在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. eclipse下对中文乱码问题的一些思考

    一.浏览器问题 当你的html页面或jsp页面没有显式声明页面编码的时候,也就是没有下面其中之一的代码 <meta http-equiv="content-type" con ...

  2. FileWriter简单用法并记录日志

    import java.io.*; import java.util.Date; /** * Created by Administrator on 2018/4/6. */ public class ...

  3. PartialView中的页面重定向

    在MVC的每个action中,都可以指定一种返回页面的类型,可以是ActionResult,这表示返回的页面为view或者是一个PartialView,前台是一个全整页面,后台是页面的一部分. 在以A ...

  4. 2016/4/5 Ajax ①用户名 密码 登陆 注册 ② 判断用户名是否已存在 ③点击按钮出现民族选项下拉菜单 ④DBDA类 加入Ajaxquery方法 数组变字符串 字符串拆分

    ①登陆   注册    查表匹配    0405Ajax.php   ②判断用户名是否存在 <!DOCTYPE html> <html lang="en"> ...

  5. 打造字符界面的多媒体Linux系统

    0 环境与目标 硬件:ThinkPad R52笔记本一台. 目标:字符界面的Linux系统,同时可以看图片,听音乐,看视频,无线上网,重要的是可以听着音乐编程了! 注意:本文打造的系统主要是供一个工程 ...

  6. mp3 pcm

    mp3  pcm javaMP3转pcm 百度语音识别 - 且学且珍惜 - SegmentFault 思否 https://segmentfault.com/a/1190000013383967

  7. css class嵌套

    css 代码: <style> .chose_bonus { font-size:9px;width:400px;border: 2px solid #dddddd;margin-top: ...

  8. android使用两种方式注冊receiver

    1. package com.example.myreceiver; import android.os.Bundle; import android.app.Activity; import and ...

  9. 原生ajax请求和jsonp

    1.原生ajax请求 var obj = new XMLHttpRequest(); obj.open("POST", url, true); obj.setRequestHead ...

  10. Mac下安装manen

    下载好maven,放到特定目录下: 打开终端: 进入根目录: cd ~ 创建文件.bash_profile: vi .bash_profile 编辑文件添加内容 MAVEN_HOME=/Users/c ...