使用gradle編譯、打包過程當中的問題彙總

第一次嘗試 使用Gradle 進行android環境的編譯、打包,期間問題出現不少,幸虧有耐心一一解決,如今將問題記錄下來,分享下android

一、問題一 gradle版本不對(與實際項目要求的不一致)服務器

問題描述:構建失敗的緣由是gradle的版本不對,要求是2.10的,我本機是3.1的app

解決辦法一:手動下載gradle2.10的版本,而後從新構建解決。fetch

解決辦法二:在jenkins的Global Tool Configuration配置中的Gradle設置項中選擇自動安裝Gradle,選擇要安裝的版本便可gradle

構建時,jenkins會自動安裝Gradleui

注:打包要求的gradle版本可查看項目文件夾中的\gradle\wrapper\ gradle-wrapper.properties文件中的版本spa

二、問題二 SDK未安裝或配置路徑與編譯的服務器上SDK路徑不符,致使編譯錯誤3d

解決方法:未安裝SDK的,需下載Adt Bundle或android studio,而後設置項目中的local.properties文件來指定該sdk路徑code

三、問題三 sdk/platforms中沒有對應的文件,致使編譯失敗orm

解決方法:在Adt Bundle或android studio中打開SDK Manager,進行更新對應文件便可

注:Android SDK Manager國內沒法更新的解決方案

1.啓動 Android SDK Manager ,打開主界面,依次選擇「Tools」、「Options...」,彈出『Android SDK Manager - Settings』窗口;

2.在『Android SDK Manager - Settings』窗口中,在「HTTP Proxy Server」和「HTTP Proxy Port」輸入框內填入mirrors.neusoft.edu.cn和80,而且選中「Force https://... sources to be fetched using http://...」複選框。設置完成後單擊「Close」按鈕關閉『Android SDK Manager - Settings』,窗口返回到主界面;

3.依次選擇「Packages」、「Reload」

四、問題四:找不到對應的包 Could not find com.android.support:appcompat-v7:23.2.0

提示咱們系統沒有找到23.2.0的相應版本的包,也就是說在lib文件夾下面沒有你所請求的配置

解決方法:

經過SDK Manager下載所需的SDK,特別是Extras選項,建議全選而後下載嘗試便可解決問題(我這裏是將android6.0(API 23)和extras目錄下的全部內容都下載了後問題解決),見下圖:

五、問題五:找不到簽名配置Execution failed for task ':app:validateRelealseSigning'.

> Keystore file E:/runa/rn.key.jks not found for signing config 'relealse'.

解決方法:

方法一:註釋掉簽名配置的代碼(不推薦)

方法二:使用android studio去建立keystore(推薦)

步驟1:安裝好android studio後打開android studio,新建project後,點擊Build→Generate Signed APK…

步驟2:Create New···(已經建立過keystore選Choose existing···)

步驟3:填寫相關信息

設置keystore路徑、密碼,設置key:別名、密碼、有效期,證書等Key store path:存放路徑

Key

  Alias:別名

  Validity(years):有效期(通常默認25年)

  Certificate:證書

    First and Last Name:姓名

    Organization Unit:組織單位

    Organization:組織

    City or Locality:城市或地區

    State or Province:州或省

    Country Code(XX):國家代碼(XX),中國:86

上面的內容可按照app\build.gradle中內容去填寫,或者隨意寫好後,按照設置的內容去配置build.gradle中的簽名配置。

六、問題六:執行 lint task的時候報錯

這個是由於代碼不符合規範,lint檢查時報錯,所以中斷了整個編譯過程。只要在當前app的app/build.gradle文件內增長以下代碼便可:

android {
    ...
  lintOptions {
      abortOnError false
}
  ...
}
相關文章
相關標籤/搜索