標籤:junit fail alt tree nbsp get 更新 and 技術
你在使用android studio時是否也出現過的報錯,你還在為它的出現煩惱?沒問題,看了本文章,我確保你會順利解決掉它並會很驕傲的認為這隻是一個小case層級的報錯。我們進入正題吧,先來說下什麼時候會出現這種錯誤:
1.當你在用別的電腦上的android studio編寫一個項目時,然後copy下來,又在自己電腦上的android studio 上匯入該項目時會報錯(兩台電腦上安裝的android studio版本不一樣)
2.自己的android studio SDK平台工具的版本太低,然後在不瞭解項目構建檔案(build.gradle檔案)的前提下,點開了SDK Manger更新了項目構建工具(SDK Build-Tools)的版本
看完上面兩種情況,其實都可以發現它們的共同點,那就是版本問題,所以上述的兩種情況就用同一種解決辦法就可以了,多簡單
具體解決方案:
1.既然是版本問題,那就的先去瞭解自己的電腦安裝的SDK工具版本,點開SDK Manager表徵圖,然後選中Updates就可以看到了
這裡我的 sdk 工具版本就是26.1.1了
2.清楚了自己的sdk 工具版本後,接下來我們繼續查看版本,接下來是看sdk 構建工具(sdk Build-Tools)的版本,還是在sdk manager上操作,這次選中 Android SDK後,再在右邊選中SDK Tools(只看打勾選項就行)
看了這張圖,似乎就能明白些什麼了對吧,你會發現,我這裡是的 Android SDK Build-Tools (就是我前面一直提到的sdk 構建工具)版本是27,而我的SDK Tools才是26,
很明顯版本就低了,但這些並不會直接造成項目報錯,看完這些資料,我們接下來再看一張
3.點開項目構建檔案Gradle Scripts,再繼續點擊build.gradle(Module:app)ps:有兩個名字相同的,選第二個,看下面代碼的注釋行就可以了
apply plugin: ‘com.android.application‘ android { compileSdkVersion 27 // 使用版本27的SDK編譯 buildToolsVersion "27.0.0" // 構建工具版本號碼為27.0.0 對應的SDK Build-Tools27 defaultConfig { applicationId "com.example.haha.myapplication" minSdkVersion 19 targetSdkVersion 27 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile(‘proguard-android.txt‘), ‘proguard-rules.pro‘ } } } dependencies { compile fileTree(dir: ‘libs‘, include: [‘*.jar‘]) androidTestCompile(‘com.android.support.test.espresso:espresso-core:2.2.2‘, { exclude group: ‘com.android.support‘, module: ‘support-annotations‘ }) compile ‘com.android.support:appcompat-v7:27.+‘
//上面一行是遠程依賴聲明,這裡我們著重來看appcompat-v7:27.+ testCompile ‘junit:junit:4.12‘ }
我們來分析下appcompat-v7:27.+
上面我們查到我們的sdk工具版本是26,這裡的遠程依賴包的版本是27,那麼我們只需要將把版本減低到和sdk工具版本相同就ok啦!
apply plugin: ‘com.android.application‘ android { compileSdkVersion 26 //修改 buildToolsVersion "27.0.0" defaultConfig { applicationId "com.example.haha.myapplication" minSdkVersion 19 targetSdkVersion 26 //修改 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile(‘proguard-android.txt‘), ‘proguard-rules.pro‘ } } } dependencies { compile fileTree(dir: ‘libs‘, include: [‘*.jar‘]) androidTestCompile(‘com.android.support.test.espresso:espresso-core:2.2.2‘, { exclude group: ‘com.android.support‘, module: ‘support-annotations‘ }) compile ‘com.android.support:appcompat-v7:26+‘ //修改 testCompile ‘junit:junit:4.12‘ }
問題解決,因為當你建立一個新的項目時,有gradle去幫你完成構建項目工作,那它自然是按你的最高sdk構建工具版本去構建項目,所以就會出現這樣的問題,到這裡你可能會覺得,臥槽,就只有最後那一段是有用的,還這麼簡單,其實前面給出的鋪墊看完加自己的理解,會收穫更多!如有錯,請多指教哈!這裡重新補充一下:改完了!一定要點擊 SYNC進行同步!SYNC !SYNC!重要事情那就說3遍,
或者點擊 圖下所示 的 Try Again
【AndroidStudio】AndroidStudio中出現Failed to resolve:com.android.support:appcompat-v7:報錯處理