Android studio2.3.3升級3.1.2坑
阿新 • • 發佈:2019-01-08
1.grade配置Error: Could not find com.android.tools.build:gradle:2.2.1. 解決方法與Maven倉庫有點像:進入 D:\software\android\android-studio-ide-145.3276617-windows\android-studio\gradle\m2repository\com\android\tools\build\gradle將專案中的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.升級到Android Studio 3.1,重新構建專案時報錯,主要錯誤為:The SourceSet 'instrumentTest' is not recognized by the Android Gradle Plugin. Perhaps you misspelled something?instrumentTest已被廢棄,新的Gradle外掛已經不支援。instrumentTest需要修改為androidTest。 修改後,sourceSets相關內容類似: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 編譯報錯 AAPT2 error報錯Error:java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details解決:在gradle.properties中關閉APPT2 編譯
注:如果是eclipse轉到as上的專案,可能沒有gradle.properties檔案,請在專案根目錄中手動建立5.升級完Android Stadio 3.1以後將所有的compile變為implementation 後,clean和rebuild都沒有發現錯誤,唯獨在run的時候出現了以下錯誤:原因及解決辦法
1 | android.enableAapt2=false |
- 原因:按照android stadio 3.1的要求,需要把gradle版本升級為 4.4及以上,但是gradle 4.4及以上要求將依賴api的compile換成implementation。而implementation宣告的依賴沒辦法傳遞到module以外,即該module 以外module沒辦法引用到implementation宣告的api。
- 解決辦法:將compile 替換為 api即可,也就是如果有外部引用,則換成:api,剩下的換成:implementation。