Android studio2.3.3升級(jí)到3.1.2坑(小記)
1.grade配置Error: Could not find com.android.tools.build:gradle:2.2.1.
解決方法與Maven倉(cāng)庫(kù)有點(diǎn)像:進(jìn)入
D:\software\android\android-studio-ide-145.3276617-windows\android-studio\gradle\m2repository\com\android\tools\build\gradle
將項(xiàng)目中的build.gradle文件中
dependencies { classpath 'com.android.tools.build:gradle:2.2.1'}
改為
dependencies { classpath 'com.android.tools.build:gradle:3.1.2'}
2.All flavors must now belong to a named flavor dimension.
在module下的build.gradle中添加一行代碼即可解決:
android{ ... flavorDimensions "versionCode" ...}
3.升級(jí)到Android Studio 3.1,重新構(gòu)建項(xiàng)目時(shí)報(bào)錯(cuò),主要錯(cuò)誤為:
The SourceSet 'instrumentTest' is not recognized by the Android Gradle Plugin. Perhaps you misspelled something?
instrumentTest已被廢棄,新的Gradle插件已經(jīng)不支持。instrumentTest需要修改為androidTest。
修改后,sourceSets相關(guān)內(nèi)容類似:
android { buildToolsVersion "27.0.3" compileSdkVersion 24 sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] aidl.srcDirs = ['src'] renderscript.srcDirs = ['src'] res.srcDirs = ['res'] assets.srcDirs = ['assets'] jniLibs.srcDirs = ['libs'] } androidTest.setRoot('tests') }}
4. AAPT2 編譯報(bào)錯(cuò) AAPT2 error
報(bào)錯(cuò)
Error:java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
解決:在gradle.properties中關(guān)閉APPT2 編譯
android.enableAapt2=false
注:如果是eclipse轉(zhuǎn)到as上的項(xiàng)目,可能沒(méi)有g(shù)radle.properties文件,請(qǐng)?jiān)陧?xiàng)目根目錄中手動(dòng)創(chuàng)建
5.升級(jí)完Android Stadio 3.1以后
將所有的compile變?yōu)閕mplementation 后,clean和rebuild都沒(méi)有發(fā)現(xiàn)錯(cuò)誤,唯獨(dú)在run的時(shí)候出現(xiàn)了以下錯(cuò)誤:
原因及解決辦法
原因:按照android stadio 3.1的要求,需要把gradle版本升級(jí)為 4.4及以上,但是gradle 4.4及以上要求將依賴api的compile換成implementation。而implementation聲明的依賴沒(méi)辦法傳遞到module以外,即該module 以外module沒(méi)辦法引用到implementation聲明的api。
即:module A implementation libA,而 moduleB implementation module A,那么module B 引導(dǎo) libA 中的api,不然在build的時(shí)候會(huì)報(bào)org.gradle.api.internal.tasks.compile.CompilationFailedException。
解決辦法:將compile 替換為 api即可,也就是如果有外部引用,則換成:api,剩下的換成:implementation。
示例:
dependencies { api fileTree(dir: 'libs', include: ['*.jar']) testImplementation 'junit:junit:4.12' api 'com.android.support:support-v4:26.1.0' api 'com.android.support:appcompat-v7:26.1.0' api 'com.google.code.gson:gson:2.8.2' api 'com.j256.ormlite:ormlite-core:4.48' api 'com.j256.ormlite:ormlite-android:4.48'
ps:解決辦法:
Android 6.0(api 23)已經(jīng)不支持HttpClient了,在build.gradle中 加入 useLibrary 'org.apache.http.legacy'就可以了,如圖:
Error:(633, 16) 錯(cuò)誤: 找不到符號(hào) 符號(hào): 方法 sqrt(float) 位置: 類 FloatMath
解決方案
原因是Android6.0不支持FloatMath.sin()了,主要有兩個(gè)方法可以解決。
方法一:
用23一下的SDK版本進(jìn)行編譯。將gradle.build文件里(包括project的gradle.build和module的gradle.build)的compileSdkVersion設(shè)為23以下。
方法二:
將上面報(bào)錯(cuò)的地方,即 用Math類替換FloatMath類,Math.sin();
方法三 :
(float)Math.sqrt 替換 FloatMath.sqrt
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 詳解Android Studio3.5及使用AndroidX的一些坑
- Android Studio3.5開發(fā)工具(安卓開發(fā)工具)安裝步驟詳解
- Android Studio 3.0后出現(xiàn)AAPT2與“android.enableAapt2”問(wèn)題的解決方法
- 解決Android Studio 3.0 butterknife:7.0.1配置的問(wèn)題
- Android Studio 3.0中mipmap-anydpi-v26是什么東東
- 詳解AndroidStudio3.0開發(fā)調(diào)試安卓NDK的C++代碼
- Android Studio 3.3.2 正式版的安裝教程圖解
相關(guān)文章
Android 安全退出應(yīng)用程序的方法總結(jié)
這篇文章主要介紹了Android 安全退出應(yīng)用程序的方法總結(jié)的相關(guān)資料,需要的朋友可以參考下2017-03-03Android開發(fā)中RecyclerView模仿探探左右滑動(dòng)布局功能
本文給大家分享android開發(fā)中RecyclerView模仿探探左右滑動(dòng)布局功能,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下2017-01-01Android TextView實(shí)現(xiàn)圖文混合編排的方法
這篇文章主要為大家詳細(xì)介紹了Android TextView實(shí)現(xiàn)圖文混合編排的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07Android實(shí)現(xiàn)基本功能的新聞應(yīng)用
這篇文章主要介紹了一個(gè)簡(jiǎn)易功能的Android新聞應(yīng)用實(shí)現(xiàn)流程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧2022-12-12Android使用Intent啟動(dòng)其他非系統(tǒng)應(yīng)用程序的方法
這篇文章主要介紹了Android使用Intent啟動(dòng)其他非系統(tǒng)應(yīng)用程序的方法,實(shí)例分析了Intent調(diào)用系統(tǒng)應(yīng)用程序的相關(guān)技巧,需要的朋友可以參考下2015-12-12iOS中給UITableView的側(cè)滑刪除增加多個(gè)按鈕的實(shí)現(xiàn)方法
在項(xiàng)目中遇到這樣一個(gè)需求,cell的側(cè)滑刪除默認(rèn)只有一個(gè)刪除按鈕, 給側(cè)滑添加多個(gè)按鈕, '刪除', '置頂', '更多'.怎么實(shí)現(xiàn)呢?下面小編給大家分享iOS中給UITableView的側(cè)滑刪除增加多個(gè)按鈕的實(shí)現(xiàn)方法,一起看看吧2017-02-02