A. android gradle 怎麼用本地包
千鋒扣丁學堂Android開發為您解答:
------------------------------------------------------------
Gradle 2.2.1
------------------------------------------------------------
Build time: 2014-11-24 09:45:35 UTC
Build number: none
Revision:
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
執行這個命令會去下載Gradle的一些依賴,下載成功並編譯通過時會看到如下信息:
:app:clean UP-TO-DATE
:extras:ShimmerAndroid:clean UP-TO-DATE BUILD SUCCESSFUL
3、最後執行 ./gradlew build
這個命令會直接編譯並生成相應的apk文件,如果看到如下字樣就代表build成功了
BUILD SUCCESSFUL
Total time: 31.456 secs
緊接著在 9GAG/app/build/outputs/apk 目錄下會看到類似於app-debug-unaligned.apk, app-release-unsigned.apk等,看名字應該能理解意思,unaligned代表沒有進行zip優化的,unsigned代表沒有簽名的。然後就可以直接安裝apk查看運行效果了。
以上是我個人習慣的一種閱讀第三方源碼的習慣,關於上面提到的一些gradle命令大家應該還不理解,後面會一一進行說明的。
導入Android Studio
但是如果你還是想導入Android Studio的話,下面就來簡單介紹下導入Studio的方法以及一些注意事項。
1、選擇File->Import Project, 選擇本地9GAG項目的目錄
2、第一次依然會下載Gradle,其實自己在命令行已經下載過了,但是這次依然還要下載一次(依然要翻牆),可能是個bug,接下來的版本中可能會修復。
3、導入之後你需要注意以下幾個地方
每個Mole下的 build.gradle 下的buildToolsVersion,即9GAG/app/build.gradle 和 9GAG/extras/ShimmerAndroid/build.gradle , 可以打開 SDK Manager 查看本地你安裝的 SDK Build-tools, 如下圖,如果相應版本沒有安裝請先下載
項目根目錄下的 build.gradle 下gradle插件的版本,如 9GAG/build.gradle 的內容:
classpath 『com.android.tools.build:gradle:1.0.0』
Android Studio 1.0必須指定gradle插件1.0的版本
Gradle Wrapper的版本,在 9GAG/gradle/wrapper/gralde-wrapper.properties 文件里有如下內容:
#Thu Dec 18 16:02:24 CST 2014
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-2.2.1-all.zip
上述內容制定了gradle的版本使用2.2.1,在Studio中如果你手動改了gradle插件的版本會有提示要不要更新Gradle Wrapper的版本。
如果以上幾個地方確定版本是ok的,那麼導入Android Studio應該沒有問題,有些老的項目可能gradle版本比較老,仍然在使用一些老的語法,如果編譯還通不過參考Android Studio系列教程四–Gradle基礎更改成最新的語法。
Gradle常用命令
上面大家接觸了一些命令如 ./gradlew -v ./gradlew clean ./gradlew build, 這里注意是./gradlew, ./代表當前目錄,gradlew代表 gradle wrapper,意思是gradle的一層包裝,大家可以理解為在這個項目本地就封裝了gradle,即gradle wrapper, 在9GAG/gradle/wrapper/gralde-wrapper.properties文件中聲明了它指向的目錄和版本。只要下載成功即可用grdlew wrapper的命令代替全局的gradle命令。
理解了gradle wrapper的概念,下面一些常用命令也就容易理解了。
./gradlew -v 版本號
./gradlew clean 清除9GAG/app目錄下的build文件夾
./gradlew build 檢查依賴並編譯打包
這里注意的是 ./gradlew build 命令把debug、release環境的包都打出來,如果正式發布只需要打Release的包,該怎麼辦呢,下面介紹一個很有用的命令 **assemble**, 如
./gradlew assembleDebug 編譯並打Debug包
./gradlew assembleRelease 編譯並打Release的包
除此之外,assemble還可以和proctFlavors結合使用,具體在下一篇多渠道打包進一步解釋。
./gradlew installRelease Release模式打包並安裝
./gradlew uninstallRelease 卸載Release模式包
下一篇來介紹用Gradle進行方便的多渠道打包,以及項目中完整的Gradle配置。