高德地圖Demo運行報錯 com.android.ide.common.process.ProcessException: Failed to execute aapt

最近因爲有需求去作導航方面的Android開發,非常無奈,之前也的確是沒有搞過,領導開大會當着全部人的面說這是給我分配的第一個工做,不管如何要作好,忽然間感受壓力好大,本身已經多年沒有敲過代碼,並且Android方面的開發我也的確是沒有作過,Java語言的基本特性我也是忘記的差很少了,老是感受有幾分趕鴨子上架,不過這也是十分無奈的事情,因而我下載了一個高德地圖的Demo,爲何沒有用百度的呢,其實百度的那個API介紹總感受比較複雜了些,因而便選擇使用高德的地圖。android

 

高德地圖的Demo  Android版連接以下:app

http://amappc.cn-hangzhou.oss-pub.aliyun-inc.com/lbs/static/zip/AMap_Android_Demo.zipide

 

 

情景:打開已有項目後報錯工具

com.android.ide.common.process.ProcessException:Failed to execute aaptgradle

 

 

緣由:在build.gradle文件中,ui

 

compileSdkVersion 和buildToolsVersion 不匹配






解決:spa

匹配 compileSdkVersion 和buildToolsVersion 

第一步:.net

經過SDK Manager工具安裝最新的sdk版本,和buildToos的版本3d

 

 

 

 

 

 

 

第二步:  修改編譯文件   build.gradlecode

 

 

能夠看到錯誤

Error:Execution failed for task ':app:processDebugResources'.
> com.android.ide.common.process.ProcessException: Failed to execute aapt

仍然沒有解決。

 

 

 

    compileSdkVersion 26
    buildToolsVersion '23.0.1'

配置編譯的文件中出問題的地方就是上面的兩個版本號的問題。

在第一步中咱們能夠看到咱們其實已經把SDK的版本基本都安裝上了,以下圖:

 

可是build tool的版本並很差解決,由於並無提供安裝低版本的選項。

 

以上是我我的的分析,並不知道是否正確。

 

 

下面給出一個自認爲說的還算不錯的一個資料:

https://blog.csdn.net/qq_22078107/article/details/53212883?locationNum=4&fps=1

 

出現這種錯誤緣由是由於  buildToolsVersioncompileSdkVersiontargetSdkVersion、      compile 'com.android.support:appcompat-v7:xxx'不一致。

 

 

此時須要本身動手修改項目的build.gradle文件,

把下面數據修改一致便可,(小數點後的值能夠不相同)

compileSdkVersion 23
buildToolsVersion "23.0.1"
targetSdkVersion 23
compile 'com.android.support:appcompat-v7:23.2.0'

(同理,若是是19,20什麼的都改爲一致就行)

 

若還報錯,clean一下工程便可;

 

 

根據上面資料的方法我這裏將   buildToolsVersion "23.0.1"   改成   buildToolsVersion "26.0.1"

具體以下圖:

 

 

而後,編譯,發現成功了,雖然有些警告。這裏面的道理是怎麼樣的仍是沒有具體的搞清楚,不過將SDK和build tool 的主版本號改成一致確實可行,不過這裏面還有一點是須要注意的,

那就是須要將 build tool 的主版本號改成 SDK的主版本號才能夠編譯成功,反之不行。準確的來講是還有錯誤報出來,不過仍是能夠運行編譯成功的。

 

若是將  SDK 版本號改成  build tool  的版本號  則編譯不成功,具體以下圖:

 

 

 

 

 

==========================================================================

通過一些實驗後有了一些小發現,因而在下面附上一些本身後來的發現:

build tool 的版本對編譯成功與否影響沒有想象到那麼大的做用,不過儘可能把 build tool的版本號調到比較高的版本仍是沒有問題的。

build tool的版本號必須是本機裏面安裝的,這個和上面所說的主版本號與否無關,重點是你的電腦,也就是你的編譯環境中必需要具備這個版本的build tool

在 SDK 版本不變的狀況下,調整build tool的版本號, 儘量的調整build tool 版本爲最新,有時候低版本的SDK 每每須要高一些版本的build tool才能編譯,不過無論怎麼說最新的build tool 應該是沒有什麼大問題的。

 

 

感受不錯的資料,推薦以下:

https://blog.csdn.net//never_cxb/article/details/50520108

https://blog.csdn.net/shakdy/article/details/54861919

http://ask.csdn.net/questions/173573

相關文章
相關標籤/搜索