1. 程式人生 > >關於gradle版本問題導致的一系列奇葩問題探討!

關於gradle版本問題導致的一系列奇葩問題探討!


相信網友們遇到了各種奇葩的問題,現在應該都解決了把,因為現在的版本沒出現這種問題了,應該都修復了。

時間往前推1個月,問題可是n多啊,什麼外掛太老,用了最新的又出現另外一個問題,結果我一個一個版本的gradle,和android plugin 版本的實驗發現最新版都是問題後面降級老版本實驗才最終搞定,

現在呢,最新版應該沒啥大問題,前不久不過遇到了debug執行模式tabhost,facebook的圖片載入框架等出現問題,降級gradle才解決此問題。

知識普及:

在gradle/wapper/gradle-wrapper.properties裡面配置 
也可以點選設定-(gradle version進行修改)
(gradle version )專案根build.gradle裡面配置也可以點選設定-(progrect-android-plugin version進行修改 Error:Could not find com.android.tools.build:gradle:2333.1.0-alpha4.Searched in the following locations:    file:/F:/dev/android-studio/gradle/m2repository/com/android/tools/build/gradle/2333.1.0-alpha4/gradle-2333.1.0-alpha4.pom    file:/F:/dev/android-studio/gradle/m2repository/com/android/tools/build/gradle/2333.1.0-alpha4/gradle-2333.1.0-alpha4.jarRequired by:    :LessCode-master:unspecified
http://maven.outofmemory.cn/com.googlecode.mp4parser/isoparser/1.0.1/
在專案最頂層的build.gradle 這裡應該叫android Plugin 的配置吧
dependencies {

}裡面所連結的網址是:https://jcenter.bintray.com/com/android/tools/build/gradle/*** 直接開啟這個網址就可以瀏覽所有版本了.
我配置2.0的時候提示版本太低了,需要設定安卓環境變數或者是設定更高版本,設定了更高版本的2.0.1-3 4-7則無法通過usb除錯只能簽名.

當android專案gradle資料夾裡面的gradle-wrapper.properities裡面路徑如果是
#distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip而編譯的gradle小於2.0就會出現另外一個錯誤

所以綜合上面的解決方案是:build.gradle的設定為: classpath 'com.android.tools.build:gradle:1.3.0' 小於2.0應該都可以吧。

而android專案gradle資料夾裡面的gradle-wrapper.properities裡面路徑如果是
distributionUrl=https\://services.gradle.org/distributions/gradle-2.4-all.zip 修改完這裡還不行,需要點選專案配置

把Gradle Version改為2.4一致才行。而裡面的android plugin version 就不知道了。我哪裡是1.3 ,難道是自動識別的,難道之所以2.0以上無法啟動除錯是因為設定裡面配置的版本天地導致的錯誤?
遇到的問題如下:
    當android專案gradle資料夾裡面的gradle-wrapper.properities裡面路徑如果是
#distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip而設定中心是其它的時候就是如下:不,應該不是設定裡面,設定裡面開啟後會自動修改,應該是android plugin 小於2.0的時候提示的錯誤。但是這錯誤確實來的莫名其妙。
問題:我把android plugin 也就就是android plugin版本提升了
gradle版本是2.10 而android plugin 是2.0以上執行就有這樣的錯誤,我找不到解決方法,只能不除錯執行直接編譯。否則只能修改對應的版本
Installing com.mm999.meiriyijia
DEVICE SHELL COMMAND: pm install -r "/data/local/tmp/com.mm999.meiriyijia"
	pkg: /data/local/tmp/com.mm999.meiriyijia
Failure [INSTALL_FAILED_DEXOPT]


DEVICE SHELL COMMAND: pm uninstall com.mm999.meiriyijia
DEVICE SHELL COMMAND: pm install -r "/data/local/tmp/com.mm999.meiriyijia"
	pkg: /data/local/tmp/com.mm999.meiriyijia
Failure [INSTALL_FAILED_DEXOPT]


DEVICE SHELL COMMAND: pm uninstall com.mm999.meiriyijia
DELETE_FAILED_INTERNAL_ERROR
問題:當build檔案 的android plugin 版本修改為2.0的時候
gradle:2.0.0-alpha1錯誤如下:
Error:(1, 0) Plugin is too old, please update to a more recent version, or set ANDROID_DAILY_OVERRIDE environment variable to "7e70a180c94e8b61de307ef422658a79da8f8965"
<a href="fixGradleElements">Fix plugin version and sync project</a><br><a href="openFile:/Users/luozheng/Documents/AndroidStudioProjects/Demo/app/build.gradle">Open File</a>
在windows電腦裡面設定環境變數即可解決,而在mac我懶得搜設定環境變數的方法了。。。。
普及知識點:
這裡面的版本其實是自動填寫的吧?
我修改之後對應的檔案後這裡都自動變化了
問題奇葩多,後面再次升級全部最新後貌似問題解決了,但是debug編譯也出現了某些問題.導致某些控制元件無法正常顯示。
現在gradle的最新版和android plugin 的最新版可以相容了之前都過不了編譯...
在gradle/wapper/gradle-wrapper.properties裡面配置 
也可以點選設定-(gradle version進行修改)
(gradle version )專案根build.gradle裡面配置也可以點選設定-(progrect-android-plugin version進行修改 Error:Could not find com.android.tools.build:gradle:2333.1.0-alpha4.Searched in the following locations:    file:/F:/dev/android-studio/gradle/m2repository/com/android/tools/build/gradle/2333.1.0-alpha4/gradle-2333.1.0-alpha4.pom    file:/F:/dev/android-studio/gradle/m2repository/com/android/tools/build/gradle/2333.1.0-alpha4/gradle-2333.1.0-alpha4.jarRequired by:    :LessCode-master:unspecified
http://maven.outofmemory.cn/com.googlecode.mp4parser/isoparser/1.0.1/
在專案最頂層的build.gradle 這裡應該叫android Plugin 的配置吧
dependencies {

}裡面所連結的網址是:https://jcenter.bintray.com/com/android/tools/build/gradle/*** 直接開啟這個網址就可以瀏覽所有版本了.
我配置2.0的時候提示版本太低了,需要設定安卓環境變數或者是設定更高版本,設定了更高版本的2.0.1-3 4-7則無法通過usb除錯只能簽名.

當android專案gradle資料夾裡面的gradle-wrapper.properities裡面路徑如果是
#distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip而編譯的gradle小於2.0就會出現另外一個錯誤

所以綜合上面的解決方案是:build.gradle的設定為: classpath 'com.android.tools.build:gradle:1.3.0' 小於2.0應該都可以吧。

而android專案gradle資料夾裡面的gradle-wrapper.properities裡面路徑如果是
distributionUrl=https\://services.gradle.org/distributions/gradle-2.4-all.zip 修改完這裡還不行,需要點選專案配置

把Gradle Version改為2.4一致才行。而裡面的android plugin version 就不知道了。我哪裡是1.3 ,難道是自動識別的,難道之所以2.0以上無法啟動除錯是因為設定裡面配置的版本天地導致的錯誤?
遇到的問題如下:
    當android專案gradle資料夾裡面的gradle-wrapper.properities裡面路徑如果是
#distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip而設定中心是其它的時候就是如下:不,應該不是設定裡面,設定裡面開啟後會自動修改,應該是android plugin 小於2.0的時候提示的錯誤。但是這錯誤確實來的莫名其妙。
問題:我把android plugin 也就就是android plugin版本提升了
gradle版本是2.10 而android plugin 是2.0以上執行就有這樣的錯誤,我找不到解決方法,只能不除錯執行直接編譯。否則只能修改對應的版本
Installing com.mm999.meiriyijia
DEVICE SHELL COMMAND: pm install -r "/data/local/tmp/com.mm999.meiriyijia"
	pkg: /data/local/tmp/com.mm999.meiriyijia
Failure [INSTALL_FAILED_DEXOPT]


DEVICE SHELL COMMAND: pm uninstall com.mm999.meiriyijia
DEVICE SHELL COMMAND: pm install -r "/data/local/tmp/com.mm999.meiriyijia"
	pkg: /data/local/tmp/com.mm999.meiriyijia
Failure [INSTALL_FAILED_DEXOPT]


DEVICE SHELL COMMAND: pm uninstall com.mm999.meiriyijia
DELETE_FAILED_INTERNAL_ERROR
問題:當build檔案 的android plugin 版本修改為2.0的時候
gradle:2.0.0-alpha1錯誤如下:
Error:(1, 0) Plugin is too old, please update to a more recent version, or set ANDROID_DAILY_OVERRIDE environment variable to "7e70a180c94e8b61de307ef422658a79da8f8965"
<a href="fixGradleElements">Fix plugin version and sync project</a><br><a href="openFile:/Users/luozheng/Documents/AndroidStudioProjects/Demo/app/build.gradle">Open File</a>
在windows電腦裡面設定環境變數即可解決,而在mac我懶得搜設定環境變數的方法了。。。。
普及知識點:
這裡面的版本其實是自動填寫的吧?
我修改之後對應的檔案後這裡都自動變化了
問題奇葩多,後面再次升級全部最新後貌似問題解決了,但是debug編譯也出現了某些問題.導致某些控制元件無法正常顯示。
附送幾個最新地址
http://jcenter.bintray.com/com/android/support/
https\://services.gradle.org/distributions/gradle-2.14.1-all.zip #這裡https出現了  Unrecognized SSL message, plaintext connection?
使用騰訊的 https出現了驗證問題刪除 https為 http

相關推薦

日均萬條資料丟失,一個隱式騷操作導致奇葩事故

業務環境:短時間內(幾個月的時間),業務蓬勃發展,客戶量從一兩萬一下增加到幾十萬使用者。 資料庫環境,如下圖: 問題描述 某天,主庫10.0.0.1的CPU使用率突然升高,均值達到80%+,導致Keepalived的VIP漂移至從庫10.0.0.2。理論上丟失的是切換過程中的幾秒鐘資料,業務側對丟失的這幾秒

gradle 版本導致的問題

記錄一次解決gradle 版本不一致導致的問題,問題描述: 在gradle 專案中執行 gradle build 編譯專案的時候,有個jar 總是下載不下來,提示 [WARNING] Checksum validation failed, expecte

gradle版本導致的編譯問題 error: resource style/TextAppearance.AppCompat not found.

新建了一個工程之後編譯報錯: Error:(1461, 5) error: resource style/TextAppearance.AppCompat (aka com.example.hp.

關於gradle版本問題導致一系列奇葩問題探討

相信網友們遇到了各種奇葩的問題,現在應該都解決了把,因為現在的版本沒出現這種問題了,應該都修復了。 時間往前推1個月,問題可是n多啊,什麼外掛太老,用了最新的又出現另外一個問題,結果我一個一個版本的gradle,和android plugin 版本的實驗發現最新版都是問題後

Android Studio中由於gradle插件版本gradle版本對應關系導致的編譯失敗的問題

解決 壓縮 tools log 報錯 spa tool sts 報錯信息 今天在Android Studio中導入新項目,import之後編譯報錯,報錯信息基本都是和版本相關,查詢gradle版本相關知識,了解到gradle插件版本和gradle版本有相應的匹配關系,對應如

webpack不同版本導致的promise不存在問題

解決 pac func 問題 回退 ins 不存在 imp win 之前采用的axios是基於promise的,但是我們親愛的又特立獨行的IE並沒有內置promise,所以要提前install一個promise插件: npm install promise @7.1.1 i

JDK版本導致Unsupported major.minor version 52.0 error

提示 enc http 運行 再次 出現 ble mpi 保持 轉自 https://www.cnblogs.com/pangxiansheng/p/5426905.html 出現問題原因-->>分析 { JDK版本不一致的問題 } 在eclipse中開發的項

Mybatis 3.4.4 升級到3.4.5+版本導致讀寫操作的時候使用不同的TypeHandler的解決方案

專案背景 專案中因需要保留時區資訊, 前後臺互動採用時間格式為標準ISO8601格式時間, 例如: 2018-11-11T11:48:23.168+08:00, 資料庫使用VARCHAR儲存. 某日, 系統寫入資料依然正常, 但是系統查詢突然全部拋異常: Caused by: java.time.form

手動更新Android Studio的gradle版本

參考部落格: http://blog.csdn.net/zhang_ying_xian/article/details/51096487 現象: Android studio在Refresh gradle project卡死 首先檢視專案的gradle-wra

工欲善其事,必先利其器之—使用sdkman安裝與管理gradle版本

SDKMAN sdkman 安裝SDKMAN 在終端執行如下命令 curl -s "https://get.sdkman.io" | bash 注:安裝成功後出現如下提示,開啟一個新終端可以執行sdkman或在當前終端執行提示的命令後可以使用sdkm

如何看懂Android中的gradle版本.....

https://blog.csdn.net/xiariluoxue/article/details/80050700#androidstudiogradlebuildtoolsversion%E7%9A%84%E5%85%B3%E7%B3%BB 這個部落格寫的更好。   gra

Android換Gradle版本時碰到的問題

我們在換Gradle時總會碰到如下的情況: Error:Failed to find target with hash string ‘android-28’ in: Install missing platform(s) and sync project 提示我們確實 android-xx

gradle外掛版本gradle版本對應關係

1、gradle外掛版本配置位置: project對應的build.gradle檔案中 buildscript { repositories { jcenter() } dependencies { classpat

記一次由jdk版本導致的錯誤

異常表現 專案本地開發環境啟動正常, 部署到生產環境啟動卡死. 解決步驟 首先當然是找到啟動日誌. 由於專案在windows Server 2012上執行, 註冊為windows服務. 所以不會有控制

Android Studio gradle外掛版本gradle版本對應關係

1、gradle外掛版本配置位置: project對應的build.gradle檔案中: buildscript {     repositories {         jcenter()     }     dependencies {         classp

#盤點讓程式設計師炸毛的奇葩需求老闆:做個百度幾千夠不夠?

我想作為一名程式設計師平時工作肯定會遇到各種各樣的需求,如果是正常的需求還好,但如果碰到一些奇葩的需求,不如老闆讓你幾千塊做個百度?嗯?你是在逗我,心裡必然是崩潰的,但是還要用一種委婉的方式表達出來,幸虧還有表情包這個東西,可以把心中的mmp表示出來,話不多說,

盤點讓程式設計師炸毛的奇葩需求老闆:做個百度幾千夠不夠?

我想作為一名程式設計師平時工作肯定會遇到各種各樣的需求,如果是正常的需求還好,但如果碰到一些奇葩的需求,不如老闆讓你幾千塊做個百度?嗯?你是在逗我,心裡必然是崩潰的,但是還要用一種委婉的方式表達出來,幸虧還有表情包這個東西,可以把心中的mmp表示出來,話不多說,

https 請求webServic 產生的安全證書問題 jdk版本導致的Received fatal alert: protocol_version異常

以下是我在開發中 用https去請求webService服務因為jdk版本產生的異常資訊: 在本機的環境是jdk1.8 使用axis.client傳送https請求正常,但是放在伺服器上jdk版本是1.7 就會產生以下問題:經過一天的請教,終於解決: http://xml.apache.org/axis/

SSM中jsp向後臺Controller傳值中文亂碼的奇葩解決

場景 進行簡單的SSM整合時,jsp提交使用者名稱到後臺Controller時,插入資料時顯示中文亂碼。 然後,log4j配置輸出sql語句,看到sql語句執行插入時,值就已經是亂碼了。 關於log4j配置輸出sql語句,參照: https://blog.csdn.net

蠢菜鳥---解決Gradle版本衝突

我真的很蠢 恩,每次遇到的問題,都能把自己表現的超級蠢。 還好我有蠢到不要臉的潛質,不停的騷擾我的好朋友and度娘。 所以這次打算洗心革面,好好把問題以及解決方案記錄下來,防止下次再犯蠢。 所以問題是什麼???? 哦,今天我bb給了我一個大神級的專案原始碼 連結:https