最近因爲有需求去作導航方面的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
出現這種錯誤緣由是由於 buildToolsVersion、compileSdkVersion、targetSdkVersion、 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