1. 程式人生 > >Android Studio匯入專案遇到的問題【解決方案】(救火專用)

Android Studio匯入專案遇到的問題【解決方案】(救火專用)

    近段時間要做Android的課設,但是Android Studio真的不怎麼會,只好匯入一下別人的專案參考一下,沒想到匯入專案時也會遇到這麼多問題,頭都快炸了好嗎。下面記錄一下我個人遇到的問題和解決方案,僅供參考。

    先新建一個空白專案, 然後點選選單File->new->import project匯入新的專案,如果報以下錯誤:
Error:Minimum supported Gradle version is 4.1. Current version is 2.14.1. If using the gradle wrapper, try editing the distributionUrl in D:\_Codes\AndroidProjects\client\gradle\wrapper\gradle-wrapper.properties to gradle-4.1-all.zip
解決方案:

    按照提示, 在Android檢視下, gradle-wrapper.properties檔案中, 把gradle-2.14.1-all.zip改成gradle-4.1-all.zip, 然後重啟專案(這個時候好像不能clean或rebuild專案)

Error:Failed to find target with hash string 'android-17' in: C:\Users\MaplePC\AppData\Local\Android\Sdk
Consult IDE log for more details (Help | Show Log)
Install missing platform(s) and sync project
結局方案:
需要安裝新的平臺, 點選安裝就可以了
遇到Warning:Conflict with dependency 'com.android.support:support-annotations'. Resolved versions for app (23.3.0) and test app (23.1.1) differ. See http://g.co/androidstudio/app-test-app-conflict for details.
意思是“com.android.support:support-annotations”依賴衝突了,APP的 是23.3.0,而 測試APP是 23.1.1
解決方法:

把側邊欄左上角的檢視切換成Android, 在build.gradle(Module: app)檔案中加入如下一行:

androidTestCompile 'com.android.support:support-annotations:23.3.0'

PS: 這個數字只是我遇到的版本號, 各位可以自行根據實際情況進行更改.

遇到Error: resource android:*** is private, 就是AAPT2相關的問題
    可以在gradle資料夾下面的gradle.properties檔案中加入一句話android.enableAapt2=false, 然後就可以關閉AAPT2了. 如果沒有這個檔案, 可以直接新建一個gradle.properties檔案, 然後把這句話複製進去.

Error:java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.AaptException:

    Execution failed for task ':app:mergeDebugResources'.
> Error: java.util.concurrent.ExecutionException: com.android.builder.internal.aapt.AaptException:
看了一些帖子, 找不到合適的解決方案, 後來無意間點開右邊的Gradle Console來檢視詳細的報錯資訊, 發現報錯的地方都是一些以.9.png結尾的圖片檔案, 於是上網找關於.9.png的文件, 明白了.9.png是方便拉伸的圖片格式(而在我的專案中的.9.png圖片不符合要求), 然後參考這篇文章:https://blog.csdn.net/genius9_9/article/details/45691741, 在那些有問題的圖片的左邊和上面各點了一些小黑點, 問題解決.

http://schemas.android.com/apk/res/android “URI is not registered“與vector android:fillType gradient android:endX attribute not found

解決方案:
提升app/build.gradle中的 targetSdkVersion 到 27, 此時可以根據gradle console的視窗提示, 把該檔案中的所有版本調成一致的較新版本就行了.

關於程式包R不存在或者Cannot resolve symbol 'R'

    解決方法:自己在出錯頁面空白行打一個R,然後自動(或者按Alt+Enter)彈出很多R的資源,選擇一個後,系統生成一條import語句來匯入R類,再把這個R刪掉就行

Failed to resolve:com.android.support:appcompat-v***:報錯處理

build.gradle(Module:app) (即app目錄下的build.gradle)中的版本不適配, 參考https://blog.csdn.net/mhl18820672087/article/details/78385361問題解決

長時間打不開的gradle專案(專案檔案中有許多與gradle相關的檔案)
https://blog.csdn.net/sfq19881224/article/details/70050128
像其中的陳述, 修改1,2,3項

然後直接File/Open... 專案就行了

總結:
對於網上下載下來的專案, 可以先直接開啟看看能不能構建執行, 如果不行, 可以先新建一個專案, 然後點選選單File/New/Import Project把專案導進去, 然後主要的步驟是在選單下面側邊欄左上角Project檢視中把app/build.gradle, 調成與當前Android Studio相一致的sdk版本號(主要調整compileSdkVersion, buildToolsVersion, minSdkVersion, targetSdkVersion等)就OK了.