前言:近日在網上找了個很不錯的安卓二維碼美化,由於下載的項目經常出問題,且不方便依賴使用,因此我想把它寫個demo,並把源碼發布到jcenter中,修改還是很順利的,運行項目到手機也沒問題,發布遇到了問題
1.運行gradle install ,提示:Minimum supported Gradle version is 4.6 Current version is4.1 這個錯誤,改了半天項目還是不行
首先是要弄懂gradle 與studio關系,請看這里 https://www.jianshu.com/p/f4b43fc3c33f
按照上邊所述,改了還是不可以不過我得到了如下結論:
as 版本(即help下的About) 這個版本號就是項目的的build.gradle 中的3.2.1 這里一般要一致,一旦as升級,打開項目后這里就會升級到對應的版本號
buildscript {
dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
}
}
上述講的as 實際上可以理解為是gradle的一個插件,對gradle進行了封裝,項目中有個gradle中的wrapper文件夾名字是就能體現出來,一旦插件版本升級,插件需要的環境版本不一樣,那么就會下載
而當前插件需要的gradle 版本會在項目的gradle文件下 wrapper 的gradle-wrapper.properties中體現
如下:
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip
這里主要是描述了下載gardle 下載后解壓位置,以及下載位置等
distributionUrl這里的4.6-all就是當前使用的gradle版本如果沒有會聯網下載,如果國內下載慢可以用其他方式下載下來后放到自己
C:/Users/用戶/.gradle/wrapper/dists/ 下即可(這里是所有gradle 下載,或使用過的版本)
因為as 和gradlew 是有對應的,所以如果修改 build:gradle:3.2.1 的版本也需要修改,因為不一致會導致構建失敗等問題
而android studio 各個版本對應gradle 版本百度會有人總結,但是可能不是最新的,因此官方的是最權威且最新的
國內地址如下 https://developer.android.google.cn/studio/releases/gradle-plugin
到此為止我們僅僅知道了as 與gradle 的關系那么下載更新后錯誤還在因此我們還需要找。
我們找到了as settings的 gradle的環境(如下圖)這里之前顯示的是4.1,因此感覺找到問題了;修改為4.6后,發現運行命令問題還是存在。
其實這里這配置的是告訴as 當前gradle運行環境路徑,這里是我們點擊運行、debug、打包等時候 as 使用的gradle版本的環境。
此刻忽然明白了原因,此時在運行命令行,gradle -v 發現果然返回的版本是4.1 而不是配置的最新的4.6
也就是說我們修改as gradle home是僅修改了as 運行環境的位置;
而命令行的配置環境是舊版本的4.1,到此刻為止問題根源徹底找到了
解決方案:
修改自己的系統環境的gradle版本的環境變量即可
到此為止問題徹底解決;可以發布了!!!
本次折騰徹底明白了as 與gradle 的關系;在此記錄一下,時至今日as 用了兩年了對其還是一知半解
還是自己太菜了。本文章目的是為了記錄本次波折,防止其他同學像我一樣折騰
博客讓我們成長,讓我們砥礪前行!記錄自己的成長瞬間!
最后,感謝下文作者
https://www.jianshu.com/p/f4b43fc3c33f