GRADLE命令簡單學習

分類:技術 時間:2016-10-25

如果你是第一次執行會去下載Gradle,這個過程如果不翻墻非常慢,建議翻墻

緊接著下載成功會看到如下信息:

------------------------------------------------------------
Gradle 2.2.1
------------------------------------------------------------

Build time:   2014-11-24 09:45:35 UTC
Build number: none
Revision:     6fcb59c06f43a4e6b1bcb401f7686a8601a1fb4a

Groovy:       2.3.6
Ant:          Apache Ant(TM) version 1.9.3 compiled on December 23 2013
JVM:          1.7.0_60 (Oracle Corporation 24.60-b09)
OS:           Mac OS X 10.9.5 x86_64

2、接著執行 ./gradlew clean

BUILD SUCCESSFUL

3、最后執行 ./gradlew build

這個命令會直接編譯并生成相應的apk文件,如果看到如下字樣就代表build成功了

很有用的命令assemble

  • ./gradlew assembleDebug 編譯并打Debug包
  • ./gradlew assembleRelease 編譯并打Release的包除此之外,assemble還可以和productFlavors結合使用,具體在下一篇多渠道打包進一步解釋。

  • ./gradlew installRelease Release模式打包并安裝

  • ./gradlew uninstallRelease 卸載Release模式包

4.友盟多渠道打包

在AndroidManifest.xml里面會有這么一段

lt;meta-data
 android:name="UMENG_CHANNEL"
 android:value="http://www.tuicool.com/articles/Channel_ID" /gt;

里面的Channel_ID就是渠道標示。

  • 第一步 在AndroidManifest.xml里配置PlaceHolder

    lt;meta-data
     android:name="UMENG_CHANNEL"
     android:value="http://www.tuicool.com/articles/${UMENG_CHANNEL_VALUE}" /gt;
    
  • 第二步 在build.gradle設置productFlavors

android { 
 productFlavors {
 xiaomi {
 manifestPlaceholders = [UMENG_CHANNEL_VALUE: "xiaomi"]
 }
 _360 {
 manifestPlaceholders = [UMENG_CHANNEL_VALUE: "_360"]
 }
 baidu {
 manifestPlaceholders = [UMENG_CHANNEL_VALUE: "baidu"]
 }
 wandoujia {
 manifestPlaceholders = [UMENG_CHANNEL_VALUE: "wandoujia"]
 }
 } 
}

或者批量修改

android { 
 productFlavors {
 xiaomi {}
 _360 {}
 baidu {}
 wandoujia {}
 } 

 productFlavors.all { 
 flavor -gt; flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name] 
 }
}

直接執行 ./gradlew assembleRelease打包

assemble結合Build Variants來創建task

  • ./gradlew assembleDebug
  • ./gradlew assembleRelease

assemble 還能和 Product Flavor 結合創建新的任務,其實 assemble 是和 Build Variants 一起結合使用的,而 Build Variants = Build Type Product Flavor

  • 如果我們想打包wandoujia渠道的release版本,執行如下命令就好了:

    ./gradlew assembleWandoujiaRelease

如果我們只打wandoujia渠道版本,則:

./gradlew assembleWandoujia
  • 同理我想打全部Release版本:

    ./gradlew assembleRelease

這條命令會把Product Flavor下的所有渠道的Release版本都打出來。

總之,assemble 命令創建task有如下用法

  • assemble : 允許直接構建一個Variant版本,例如assembleFlavor1Debug。
  • assemble : 允許構建指定Build Type的所有APK,例如assembleDebug將會構建Flavor1Debug和Flavor2Debug兩個Variant版本。
  • assemble : 允許構建指定flavor的所有APK,例如assembleFlavor1將會構建Flavor1Debug和Flavor1Release兩個Variant版本。
defaultConfig {


 // dex突破65535的限制
 multiDexEnabled true
 // 默認是umeng的渠道
 manifestPlaceholders = [UMENG_CHANNEL_VALUE: "umeng"]
 }

 lintOptions {
 abortOnError false
 }

 signingConfigs {
 debug {
 // No debug config
 }

 release {
 storeFile file("../yourapp.keystore")
 storePassword "your password"
 keyAlias "your alias"
 keyPassword "your password"
 }
 }

Tags: Gradle 安卓開發

文章來源:https://ln0491.github.io/2016/10/24/GRADLE命令简单学习/


ads
ads

相關文章
ads

相關文章

ad