一、安裝JDK
在安裝Gradle之前需要先安裝JDK,由于安裝的是Gradle是4.4是以需要安裝JDK1.8。
之前編譯總是提示如下錯誤就是由于先安裝的jdk1.7然後安裝的1.8造成的,在Gradle啟動檔案中使用了JAVAHOME并且寫成了1.7的目錄,是以無論怎麼配置都是最後腳本中的生效,是以提示版本不對。
java.lang.UnsupportedClassVersionError: com/android/build/gradle/LibraryPlugin : Unsupported major.minor version 52.0
1、安裝jdk
2、設定環境變量
設定 JAVA_HOME
JAVA_HOME=C:\Program Files\Java\jdk1.8.0_171
設定path
Path=%PATH%;%JAVA_HOME%\bin
3、測試配置是否正确
執行如下指令後提示java1.8即表示成功
java -version
二、安裝Gradle
1、下載下傳Gradle
Gradle下載下傳網址:http://services.gradle.org/distributions/
由于項目使用4.4編譯是以下載下傳4.4:http://services.gradle.org/distributions/gradle-4.4.1-all.zip
2、解壓縮
建立如下目錄:
lrs : 是目前使用者目錄,需要根據實際修改;
.gradle : 在資料總管中無法建立請使用dos指令建立 mkdir .gradle
C:\Users\lrs\.gradle\wrapper\dists
将下載下傳的zip檔案存放到上邊建立的目錄中,将zip解壓縮,解完後類似如下目錄
C:\Users\lrs\.gradle\wrapper\dists\gradle-4.4-all\gradle-4.4
3、設定環境變量(目錄需要根據你的實際情況修改)
設定 GRADLE_HOME
GRADLE_HOME=C:\Users\lrs\.gradle\wrapper\dists\gradle-4.4-all\gradle-4.4
設定PATH
Path=%PATH%;%GRADLE_HOME%\bin
4、測試配置是否正确
在cmd中執行如下指令如果顯示目前版本為4.4即安裝正确
gradle -v
三、安裝Android SDK
1、下載下傳安裝包
官網,需FQ:http://developer.android.com/sdk/index.html
不需FQ:http://www.androiddevtools.cn/
根據你的平台選擇相應下載下傳
2、解壓縮、安裝
将下載下傳的壓縮包解壓縮到此目錄中
C:\Users\lrs\AppData\Local\Android\Sdk\sdk-tools
3、允許協定
在cmd中進入此目錄
C:\Users\lrs\AppData\Local\Android\Sdk\sdk-tools\bin
運作如下指令,所有都回答Y接受協定
sdkmanager.bat --licenses
4、設定環境變量
設定 ANDROID_HOME
ANDROID_HOME=C:\Users\lrs\AppData\Local\Android\Sdk
注意 ANDROID_HOME 指到解壓縮目錄的上一級,也就是這個 sdkmanager.bat 往上的兩級目錄
5、安裝 Android SDK Build-Tools 26.0.2
再次進入如下目錄
C:\Users\lrs\AppData\Local\Android\Sdk\sdk-tools\bin
執行如下指令顯示所有sdk,相應的 sdkmanager 可以參見 https://developer.android.com/studio/command-line/sdkmanager
sdkmanager --list
根據list的内容安裝 build-tools;26.0.2,如下指令
在linux上不需要安裝此庫,直接運作步驟7即可
sdkmanager build-tools;26.0.2
6、下載下傳源代碼
7、clean
在cmd中進入源碼目錄執行如下指令,安裝過程中會下載下傳一些需要的sdk
gradlew clean
由于牆的問題可能運作上面指令很慢卡在哪裡,可以設定國内的一個代理伺服器方法如下:
建立 gradle.properties 檔案這個目錄在目前使用者下
vi /root/.gradle/gradle.properties
插入如下内容儲存即可,重新執行編譯指令。
# http代理
systemProp.http.proxyHost=www.somehost.org
systemProp.http.proxyPort=8080
systemProp.http.proxyUser=userid
systemProp.http.proxyPassword=password
systemProp.http.nonProxyHosts=*.nonproxyrepos.com|localhost
# https代理
systemProp.https.proxyHost=www.somehost.org
systemProp.https.proxyPort=8080
systemProp.https.proxyUser=userid
systemProp.https.proxyPassword=password
systemProp.https.nonProxyHosts=*.nonproxyrepos.com|localhost
注:有的時候代理上也下不來更換代理或者将代理去掉再試一次。
8、編譯
執行類似如下指令編譯,需要根據你的工程改app的内容
編譯過程中gradlew會根據需要下載下傳需要的sdk,由于網絡問題可以會提示連接配接逾時錯誤,多試幾次即可,或者根據步驟9配置一個代理
gradlew :app:assembleDebug # 編譯 debug 包,目前用的是多管道編譯是以沒有使用參數的話會編譯所有管道的debug包
gradlew :app:assembleRelease # 編譯 release 包,目前用的是多管道編譯是以沒有使用參數的話會編譯所有管道的release包
gradlew :app:assembleBaiduDebug # debug包,指定編譯百度管道的debug包
gradlew :app:assembleYingyongbaoDebug # debug包,指定編譯應用寶管道的debug包
gradlew :app:assembleBaiduRelease # # release包,指定編譯百度管道的release包
gradlew :app:assembleDebugRelease # release包,指定編譯應用寶管道的release包
多管道配置在build.gradle檔案中如下:
flavorDimensions "default"
productFlavors {
kuan { dimension "default" }
xiaomi { dimension "default" }
qh360 { dimension "default" }
baidu { dimension "default" }
wandoujia { dimension "default" }
yingyongbao { dimension "default" }
}
9、設定使用代理下載下傳sdk
執行如下指令設定代理伺服器位址,其它參數也可參見 https://developer.android.com/studio/command-line/sdkmanager
sdkmanager.bat --proxy={ubuntu.buct.edu.cn | 80}
代理伺服器見下表
1、北京化工大學鏡像伺服器位址:
IPv4: ubuntu.buct.edu.cn/ 端口:80
IPv4: ubuntu.buct.cn/ 端口:80
IPv6: ubuntu.buct6.edu.cn/ 端口:80
2、大連東軟資訊學院鏡像伺服器位址:
mirrors.neusoft.edu.cn 端口:80
3、鄭州大學開源鏡像站:
mirrors.zzu.edu.cn 端口:80