溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android Studio常見問題有哪些

發布時間:2020-08-21 09:25:26 來源:億速云 閱讀:437 作者:小新 欄目:開發技術

這篇文章給大家分享的是有關Android Studio常見問題有哪些的內容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。

一、Error:All flavors must now belong to a named flavor dimension

問題描述:

Error:All flavors must now belong to a named flavor dimension.

解決辦法:

應該是因為使用了productFlavors分包,解決方法就是在build.gradle中的defaultConfig中添加一個flavorDimensions "1"就可以了,后面的1一般是跟你的versionCode相同

Android Studio常見問題有哪些

二、com.android.tools.aapt2.Aapt2Exception

問題描述:

Error:java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception:

AAPT2 error: check logs for details

解決辦法:

一般跟aapt2相關的問題的解決方法就是:在gradle.properties中關閉APPT2 編譯,加上下面這行代碼就好了:

android.enableAapt2=false

三、USB安裝調試時遇到解析包錯誤解決方式

Android Studio常見問題有哪些

四、 編譯時報錯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包重復導致的問題,這塊去排查的話,建議打開每個jar包里面的內容去檢查包名。

五、Plugin with id 'com.github.dcendents.android-maven' not found

在引用開源項目的時候, 經常會遇到如下的報錯:

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來替代傳統的圖片有很多好處,比如自適應,體積小,不失真等。但是,在Android5.0以下版本使用時會有兼容性問題,在Androi 5.0以下的設備可能會報這樣的錯誤:

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以下的設備上使用Vector了

七、Android Studio 導出 JavaDoc 時出現中文亂碼問題

Android Studio 導出JavaDoc過程中,如果出現中文亂碼的問題,可以在Other command line arguments欄目添加命令參數:

-encoding UTF-8 -charset UTF-8(如果是GBK,參數為-encoding GBK -charset GBK)。

位置參照下圖:

Android Studio常見問題有哪些

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

Android Studio常見問題有哪些

八、Manifest merger failed with multiple errors, see logs

此問題一般出現在項目合并第三方提供的aar的時候Android Studio報錯:Manifest merger failed with multiple errors, see logs。

打開詳細gradle報錯日志,發現是執行任務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的日志是看不出來是哪里出現的問題,這是需要我們進一步檢查原因,我們可以使用下面的命令可以打印更詳細的日志:

gradlew processDebugManifest -stacktrace

如存在錯誤,會輸出類似下面日志的內容:

...\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.

此類問題一般當我們項目Manefest的某些屬性和第三方庫中Manefest的屬性有沖突會報上面的錯誤。比如第三方庫中也定義了icon、allowBackup等屬性,且會與你的項目不同,則發生沖突,編譯就會報錯。解決辦法就是在我們項目的Application節點中加入tools:replace來替換三方庫中的相關屬性,如下:

<application ... tools:replace="android:allowBackup,android:icon">

還有一種方案就是去掉第三方庫中沖突的屬性。

九、No static field xxxx of type I in class Lcom/xxx/xxx/R$id;控件id找不到問題問題描述:

問題的原因是系統沒有找到此id;

解決方法:

如果你可以找到此id的話,說明你的 layout.xml有重復的;把當前的layout.xml修改一下名字;主工程和Model中的布局文件名稱layout.xml也不可以相同;

注意:需要修改的是 layout.xml的名字 不是該控件的 id 的名字;

感謝各位的閱讀!關于Android Studio常見問題有哪些就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女