图文来教你在eclipse下用gradle 来打包Android" />
当前位置: 代码迷 >> Android >> 图文来教你在eclipse下用gradle 来打包Android
  详细解决方案
热度:182   发布时间:2016-04-28 01:39:37.0
用gradle 来打包Android

图文来教你在eclipse下用gradle 来打包Android

分类: Android从入门到精通

gradle其他好处就不多说,在android应用发布的时候,如果要统计多个渠道,gradle 批量打包的好处就显示出来了;下面介绍图文来介绍

按eclipse的导出时 选择Android;如下图 然后按下面一步一步往下点

 

    欢迎加入QQ交流3群:317874559

 

点击完成之后 工程里面就生成了如下的几个文件;也就是gradle的配置文件

打开gradle-wrapper.properties这个文件;可以看到distributionUrl这个地址;而这个地址就是gradle的下载地址;在浏览器打开下载 如下图:

将下载的文件押解出来;然后需要设置系统环境变量;需要设置变量名:GRADLE_HOME变量值为:C:\xiong\gradle-1.10-all\gradle-1.10(也就是你下载的Gradle文件的根目录)然后设置path;在后面加上C:\xiong\gradle-1.10-all\gradle-1.10\bin 如下图

然后运行在cmd中运行gradle -v来判断是否设置成功 如下图

确定安装成功之后就基本可以运行gradle命令来打包了;将cmd命令定位到工程的根目录,然后运行gradle bulid

如下图

 

如果需要批量打包;则在build.gradle进行配置

原始eclipse生成的文件内容如下

 

  1. buildscript {  
  2.     repositories {  
  3.         mavenCentral()  
  4.     }  
  5.     dependencies {  
  6.         classpath 'com.android.tools.build:gradle:0.8.+'  
  7.     }  
  8. }  
  9. apply plugin: 'android'  
  10.   
  11. dependencies {  
  12.     compile fileTree(dir: 'libs', include: '*.jar')  
  13. }  
  14.   
  15. android {  
  16.     compileSdkVersion 19  
  17.     buildToolsVersion "19.0.3"  
  18.   
  19.     sourceSets {  
  20.         main {  
  21.             manifest.srcFile 'AndroidManifest.xml'  
  22.             java.srcDirs = ['src']  
  23.             resources.srcDirs = ['src']  
  24.             aidl.srcDirs = ['src']  
  25.             renderscript.srcDirs = ['src']  
  26.             res.srcDirs = ['res']  
  27.             assets.srcDirs = ['assets']  
  28.         }  
  29.   
  30.         // Move the tests to tests/java, tests/res, etc...  
  31.         instrumentTest.setRoot('tests')  
  32.   
  33.         // Move the build types to build-types/<type>  
  34.         // For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ...  
  35.         // This moves them out of them default location under src/<type>/... which would  
  36.         // conflict with src/ being used by the main source set.  
  37.         // Adding new build types or product flavors should be accompanied  
  38.         // by a similar customization.  
  39.         debug.setRoot('build-types/debug')  
  40.         release.setRoot('build-types/release')  
  41.     }  
  42. }  
只要在如上代码中添加就可以  比如

 

 

  1. buildscript {  
  2.     repositories {  
  3.         mavenCentral()  
  4.     }  
  5.     dependencies {  
  6.         classpath 'com.android.tools.build:gradle:0.8.+'  
  7.     }  
  8. }  
  9. apply plugin: 'android'  
  10.   
  11. dependencies {  
  12.     compile fileTree(dir: 'libs', include: '*.jar')  
  13. }  
  14.   
  15. android {  
  16.     compileSdkVersion 19  
  17.     buildToolsVersion "19.0.3"  
  18.   
  19.     sourceSets {  
  20.         main {  
  21.             manifest.srcFile 'AndroidManifest.xml'  
  22.             java.srcDirs = ['src']  
  23.             resources.srcDirs = ['src']  
  24.             aidl.srcDirs = ['src']  
  25.             renderscript.srcDirs = ['src']  
  26.             res.srcDirs = ['res']  
  27.             assets.srcDirs = ['assets']  
  28.         }  
  29.   
  30.         // Move the tests to tests/java, tests/res, etc...  
  31.         instrumentTest.setRoot('tests')  
  32.   
  33.         // Move the build types to build-types/<type>  
  34.         // For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ...  
  35.         // This moves them out of them default location under src/<type>/... which would  
  36.         // conflict with src/ being used by the main source set.  
  37.         // Adding new build types or product flavors should be accompanied  
  38.         // by a similar customization.  
  39.         debug.setRoot('build-types/debug')  
  40.         release.setRoot('build-types/release')  
  41.             //批量打包--指定配置文件    
  42.         //不同的渠道商对应的各自AndroidManifest    
  43.         //AndroidManifest的application标签只用配置渠道号的值    
  44.         //其他公共配置都放在公共的AndroidManifest.xml中    
  45.         one {    
  46.        manifest.srcFile 'tests/AndroidManifest1.xml'    
  47.     }    
  48.     two {    
  49.        manifest.srcFile 'tests/AndroidManifest2.xml'    
  50.     }    
  51.         instrumentTest.setRoot('tests')    
  52.           
  53.     }  
  54.           
  55.      //批量打包--声明    
  56.     productFlavors {    
  57.     one {    
  58.             //这里可以配置不同的包名    
  59.     }    
  60.     two {    
  61.     }    
  62.     }   
  63.       //签名    
  64.     signingConfigs {    
  65.       myConfig {    
  66.           storeFile file("11.keystore")      //签名文件    
  67.           storePassword "111111"        
  68.           keyAlias "111111"                 
  69.           keyPassword "111111"  //签名密码    
  70.       }    
  71.     }    
  72. }  

如下图

 


至于其他的 俺就不说了 不动找度娘

demo下载

转载请注明出处:http://blog.csdn.net/x605940745

  相关解决方案