Android Studio 常見問題及解決方法(推薦)
一、Error:All flavors must now belong to a named flavor dimension
問題描述:
Error:All flavors must now belong to a named flavor dimension.
解決辦法:
應(yīng)該是因?yàn)槭褂昧藀roductFlavors分包,解決方法就是在build.gradle中的defaultConfig中添加一個flavorDimensions "1"就可以了,后面的1一般是跟你的versionCode相同

二、com.android.tools.aapt2.Aapt2Exception
問題描述:
Error:java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception:
AAPT2 error: check logs for details
解決辦法:
一般跟aapt2相關(guān)的問題的解決方法就是:在gradle.properties中關(guān)閉APPT2 編譯,加上下面這行代碼就好了:
android.enableAapt2=false
三、USB安裝調(diào)試時遇到解析包錯誤解決方式

四、 編譯時報錯Unable to merge dex
日志信息:
Error:Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'. > java.lang.RuntimeException: java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex
解決方案:
Jar包重復(fù)導(dǎo)致的問題,這塊去排查的話,建議打開每個jar包里面的內(nèi)容去檢查包名。
五、Plugin with id 'com.github.dcendents.android-maven' not found
在引用開源項(xiàng)目的時候, 經(jīng)常會遇到如下的報錯:
Error:(2, 0) Plugin with id 'com.github.dcendents.android-maven' not found
那么如何解決這個問題呢?首先在Project下那個build.grade里面添加全局依賴:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.3'
//1.自動化maven打包插件
classpath 'com.github.dcendents:android-maven-gradle-plugin:2.0'
//2.自動上傳至Bintray平臺插件
classpath "com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7.3"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
添加完之后同步即可。
六、Binary XML file line #1: invalid drawable tag vector
在Android中使用Vector來替代傳統(tǒng)的圖片有很多好處,比如自適應(yīng),體積小,不失真等。但是,在Android5.0以下版本使用時會有兼容性問題,在Androi 5.0以下的設(shè)備可能會報這樣的錯誤:
Caused by: org.xmlpull.v1.XmlPullParserException: Binary XML file line #1: invalid drawable tag vector
解決辦法
1.首先在使用時,我們需要添加依賴
compile 'com.android.support:support-vector-drawable:25.3.1'
2.在defaultConfig下面添加聲明
vectorDrawables.useSupportLibrary = true
3. 在Activity的oncreate中加入如下代碼即可
AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);
示例如下:
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);
}
這樣我們就可以在5.0以下的設(shè)備上使用Vector了
七、Android Studio 導(dǎo)出 JavaDoc 時出現(xiàn)中文亂碼問題
Android Studio 導(dǎo)出JavaDoc過程中,如果出現(xiàn)中文亂碼的問題,可以在Other command line arguments欄目添加命令參數(shù):
-encoding UTF-8 -charset UTF-8(如果是GBK,參數(shù)為-encoding GBK -charset GBK)。
位置參照下圖:

即可解決中文亂碼問題,效果圖如下:

八、Manifest merger failed with multiple errors, see logs
此問題一般出現(xiàn)在項(xiàng)目合并第三方提供的aar的時候Android Studio報錯:Manifest merger failed with multiple errors, see logs。
打開詳細(xì)gradle報錯日志,發(fā)現(xiàn)是執(zhí)行任務(wù)processDebugManifest報錯:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task '...:processDebugManifest'.
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:103)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:73)
at ...
單純看Android Studio的日志是看不出來是哪里出現(xiàn)的問題,這是需要我們進(jìn)一步檢查原因,我們可以使用下面的命令可以打印更詳細(xì)的日志:
gradlew processDebugManifest -stacktrace
如存在錯誤,會輸出類似下面日志的內(nèi)容:
...\src\main\AndroidManifest.xml:71:9-43 Error: Attribute application@icon value=(@mipmap/ic_launcher) from AndroidManifest.xml:71:9-43 is also present at [:xxx-release:] AndroidManifest.xml:25:9-45 value=(@drawable/ic_launcher). Suggestion: add 'tools:replace="android:icon"' to <application> element at AndroidManifest.xml:68:5-4094:19 to override.
此類問題一般當(dāng)我們項(xiàng)目Manefest的某些屬性和第三方庫中Manefest的屬性有沖突會報上面的錯誤。比如第三方庫中也定義了icon、allowBackup等屬性,且會與你的項(xiàng)目不同,則發(fā)生沖突,編譯就會報錯。解決辦法就是在我們項(xiàng)目的Application節(jié)點(diǎn)中加入tools:replace來替換三方庫中的相關(guān)屬性,如下:
<application ... tools:replace="android:allowBackup,android:icon">
還有一種方案就是去掉第三方庫中沖突的屬性。
九、No static field xxxx of type I in class Lcom/xxx/xxx/R$id;控件id找不到問題問題描述:
問題的原因是系統(tǒng)沒有找到此id;
解決方法:
如果你可以找到此id的話,說明你的 layout.xml有重復(fù)的;把當(dāng)前的layout.xml修改一下名字;主工程和Model中的布局文件名稱layout.xml也不可以相同;
注意:需要修改的是 layout.xml的名字 不是該控件的 id 的名字;
總結(jié)
到此這篇關(guān)于Android Studio 常見問題及解決方法的文章就介紹到這了,更多相關(guān)Android Studio 常見問題內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
android實(shí)現(xiàn)微信朋友圈發(fā)布動態(tài)功能
這篇文章主要為大家詳細(xì)介紹了android實(shí)現(xiàn)微信朋友圈發(fā)布動態(tài)功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-03-03
Android開發(fā)重寫Animation實(shí)現(xiàn)下拉圖片后彈射回去效果示例
這篇文章主要介紹了Android開發(fā)重寫Animation實(shí)現(xiàn)下拉圖片后彈射回去效果,結(jié)合實(shí)例形式分析了Android自定義類繼承Animation實(shí)現(xiàn)圖片彈射效果的相關(guān)操作技巧,需要的朋友可以參考下2017-10-10
Android Studio和阿里云數(shù)據(jù)庫實(shí)現(xiàn)一個遠(yuǎn)程聊天程序
本文主要介紹了Android Studio和阿里云數(shù)據(jù)庫實(shí)現(xiàn)一個遠(yuǎn)程聊天程序,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-11-11
Android開發(fā)中自定義ProgressBar控件的方法示例
這篇文章主要介紹了Android開發(fā)中自定義ProgressBar控件的方法,結(jié)合實(shí)例形式分析了自定義ProgressBar控件的定義與使用方法,需要的朋友可以參考下2017-10-10
Android仿360桌面手機(jī)衛(wèi)士懸浮窗效果
這篇文章主要介紹了Android仿360手機(jī)衛(wèi)士懸浮窗效果的桌面實(shí)現(xiàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-05-05
android:TextView簡單設(shè)置文本樣式和超鏈接的方法
這篇文章主要介紹了android:TextView簡單設(shè)置文本樣式和超鏈接的方法,涉及TextView常見文字屬性的相關(guān)操作技巧,需要的朋友可以參考下2016-08-08
android中px和dp,px和sp之間的轉(zhuǎn)換方法
在Android開發(fā)中dp和px,sp和px之間的轉(zhuǎn)換時必不可少的。下面腳本之家小編給大家?guī)砹薬ndroid中px和dp,px和sp之間的轉(zhuǎn)換方法,感興趣的朋友一起看看吧2018-06-06

