【Android应用开发】Android Studio 错误集锦 -- 将所有的 AS 错误集合到本文
.
一. 編譯錯誤
1. "AndroidManifest.xml file not found" 錯誤
(1) 報錯信息
報錯信息 :?
-- Message Make :?
Information:Compilation completed with 1 error and 0 warnings in 2 sec Information:1 error Information:0 warnings Error:Android Source Generator: [MidiScope] AndroidManifest.xml file not found-- Event Log :?
上午8:41:38 Compilation completed with 1 error and 0 warnings in 2 sec(2) 解決方案
解決方案 :?
-- 選擇 右鍵點擊工程, 選擇 Open Module Settings :?
-- 配置 AndroidManifest 路徑 :?
2. "error: Error: No resource found that matches the given name (at 'resource' with value" 錯誤
(1) 報錯信息
報錯信息 :?
-- Message Make :?
Information:Using javac 1.8.0_45 to compile java sources Information:Compilation completed with 5 errors and 0 warnings in 3 sec Information:5 errors Information:0 warnings /Users/hanshuliang/Downloads/MidiScope/Application/src/main/AndroidManifest.xml Error:(27, -1) Android Resource Packaging: [MidiScope] /Users/hanshuliang/Downloads/MidiScope/Application/src/main/AndroidManifest.xml:27: error: Error: No resource found that matches the given name (at 'icon' with value '@mipmap/ic_launcher'). Error:(27, -1) Android Resource Packaging: [MidiScope] /Users/hanshuliang/Downloads/MidiScope/Application/src/main/AndroidManifest.xml:27: error: Error: No resource found that matches the given name (at 'label' with value '@string/app_name'). Error:(27, -1) Android Resource Packaging: [MidiScope] /Users/hanshuliang/Downloads/MidiScope/Application/src/main/AndroidManifest.xml:27: error: Error: No resource found that matches the given name (at 'theme' with value '@style/MidiScopeTheme'). Error:(33, -1) Android Resource Packaging: [MidiScope] /Users/hanshuliang/Downloads/MidiScope/Application/src/main/AndroidManifest.xml:33: error: Error: No resource found that matches the given name (at 'label' with value '@string/app_name'). Error:(48, -1) Android Resource Packaging: [MidiScope] /Users/hanshuliang/Downloads/MidiScope/Application/src/main/AndroidManifest.xml:48: error: Error: No resource found that matches the given name (at 'resource' with value '@xml/scope_device_info').
(2) 解決方案
解決方案?:?
--?選擇 右鍵點擊工程, 選擇 Open Module Settings?:?
--?配置 資源路徑 路徑?:?
3. "This Activity already has an action bar supplied by the window decor." 錯誤
(1) 報錯信息
報錯信息 :?
12-08 16:39:31.105 15700-15700/cn.zkhw.midi E/AndroidRuntime: FATAL EXCEPTION: mainjava.lang.RuntimeException: Unable to start activity ComponentInfo{cn.zkhw.midi/cn.zkhw.midi.slide.MainActivity}: java.lang.IllegalStateException: This Activity already has an action bar supplied by the window decor. Do not request Window.FEATURE_SUPPORT_ACTION_BAR and set windowActionBar to false in your theme to use a Toolbar instead.at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2297)at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2351)at android.app.ActivityThread.access$700(ActivityThread.java:161)at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1318)at android.os.Handler.dispatchMessage(Handler.java:99)at android.os.Looper.loop(Looper.java:177)at android.app.ActivityThread.main(ActivityThread.java:5426)at java.lang.reflect.Method.invokeNative(Native Method)at java.lang.reflect.Method.invoke(Method.java:525)at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1225)at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1041)at dalvik.system.NativeStart.main(Native Method)Caused by: java.lang.IllegalStateException: This Activity already has an action bar supplied by the window decor. Do not request Window.FEATURE_SUPPORT_ACTION_BAR and set windowActionBar to false in your theme to use a Toolbar instead.at android.support.v7.app.AppCompatDelegateImplV7.setSupportActionBar(AppCompatDelegateImplV7.java:198)at android.support.v7.app.AppCompatActivity.setSupportActionBar(AppCompatActivity.java:99)at cn.zkhw.midi.slide.MainActivity.onCreate(MainActivity.java:28)at android.app.Activity.performCreate(Activity.java:5372)at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1104)at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2259)at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2351)?at android.app.ActivityThread.access$700(ActivityThread.java:161)?at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1318)?at android.os.Handler.dispatchMessage(Handler.java:99)?at android.os.Looper.loop(Looper.java:177)?at android.app.ActivityThread.main(ActivityThread.java:5426)?at java.lang.reflect.Method.invokeNative(Native Method)?at java.lang.reflect.Method.invoke(Method.java:525)?at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1225)?at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1041)?at dalvik.system.NativeStart.main(Native Method)? 12-08 16:39:32.815 15700-15700/cn.zkhw.midi I/Process: Sending signal. PID: 15700 SIG: 9
(2) 解決方案?
解決方案 :?
-- 出錯原因 : 使用 ToolBar 后, 原有的 ActionBar 沒有取消, 兩個導航欄都出現就出現了上述錯誤;
-- 設置一個 style :?
<style name="AppTheme.NoActionBar"><item name="windowActionBar">false</item><item name="windowNoTitle">true</item></style>-- 將這個 style 設置給 Activity :? android :theme= "@style/AppTheme.NoActionBar"
<activityandroid:name=".MainActivity"android:label="@string/app_name"android:theme="@style/AppTheme.NoActionBar"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity>
4. "aidl is missing" 錯誤
(1) 報錯信息
報錯信息 :?
FAILURE: Build failed with an exception.* What went wrong: Execution failed for task ':library:compileReleaseAidl'. > aidl is missing* Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.BUILD FAILEDTotal time: 0.651 secs
(2) 解決方案
解決方案 :?
-- 錯誤原因 : SDK 文件不全, 換一個 SDk 重新編譯即可通過;
-- 原來的 SDK 查看 : 右鍵點擊工程, 選擇 "Open Module Setting" ;
-- 編譯設置 : 由此可見 22 5.1 的 SDK 是不完整的;
-- 更換 SDK 即可完成編譯 : 注意 SDK 版本 和 編譯工具的版本必須對應;
5. "unspecified on project ... resolves to an APK archive which is not supported as a compilation dependency." 錯誤
(1) 報錯信息
報錯信息 :?
Warning:Dependency AndroidQuickDevelop:lib_widget:unspecified on project app_sample resolves to an APK archive which is not supported as a compilation dependency. File: C:\hanshuliang\develop\workspace\as\AndroidQuickDevelop\lib_widget\build\outputs\apk\lib_widget-release-unsigned.apk
-- 場景描述 : 需要一個 Module 存放所有的自定義組件, 如果使用 library 就不能使用 R 文件, 無法引用顏色 屬性 圖片 布局 等資源, 因此將自定義組件寫入一個 Module B 中, 在 Module A 中引用 Moudle B, 就會出現上述錯誤.?
(2) 解決方案
解決方案 :?
-- 原來的 gradle 腳本 : 注意其中的 apply plugin 中的輸出類型是 application, 另外在 defaultConfig 中有 applicationId.
apply plugin: 'com.android.application'android {compileSdkVersion 23buildToolsVersion "23.0.2"defaultConfig {applicationId "cn.org.octopus.lib_widget"minSdkVersion 15targetSdkVersion 23versionCode 1versionName "1.0"}buildTypes {release {minifyEnabled falseproguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'}} }dependencies {compile fileTree(dir: 'libs', include: ['*.jar'])testCompile 'junit:junit:4.12'compile 'com.android.support:appcompat-v7:23.1.1'compile 'com.android.support:design:23.1.1' }
-- 修改為 : 需要將 apply plugin 修改為?apply plugin: 'com.android.library' , 刪除 applicationId, 下面的是修改完的 gradle 腳本, 修改完后即可編譯.?
apply plugin: 'com.android.library'android {compileSdkVersion 23buildToolsVersion "23.0.2"defaultConfig {minSdkVersion 15targetSdkVersion 23versionCode 1versionName "1.0"}buildTypes {release {minifyEnabled falseproguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'}} }dependencies {compile fileTree(dir: 'libs', include: ['*.jar'])testCompile 'junit:junit:4.12'compile 'com.android.support:appcompat-v7:23.1.1'compile 'com.android.support:design:23.1.1' }
6. "Unable to find method 'org.gradle.api.internal.project.ProjectInternal.getPluginManager()Lorg/gradle/api/internal/plugins/PluginManagerInternal;'" 錯誤
(1) 報錯信息
報錯信息 :?
Error:Unable to find method 'org.gradle.api.internal.project.ProjectInternal.getPluginManager()Lorg/gradle/api/internal/plugins/PluginManagerInternal;'. Possible causes for this unexpected error include:<ul><li>Gradle's dependency cache may be corrupt (this sometimes occurs after a network connection timeout.) <a href="syncProject">Re-download dependencies and sync project (requires network)</a></li><li>The state of a Gradle build process (daemon) may be corrupt. Stopping all Gradle daemons may solve this problem. <a href="stopGradleDaemons">Stop Gradle build processes (requires restart)</a></li></ul>In the case of corrupt Gradle processes, you can also try closing the IDE and then killing all Java processes.
(2) 解決方案
解決方案 :?
-- 參考 : http://www.cnblogs.com/stozen/p/5123841.html;
-- 解決方案 : 將 gradle/wrapper/gradle-wrapper.properties 中的?distributionUrl 屬性修改為?distributionUrl=https\://services.gradle.org/distributions/gradle-2.8-all.zip;
7. Plugin is too old, please update to a more recent version, or set ANDROID_DAILY_OVERRIDE environment variable to 錯誤
(1) 報錯信息
報錯信息 : 該問題總是在 Gradle 更新后出現, 原因可能是使用了 alpha 版本的 gradle 插件;
8:28:29 Gradle sync failed: Plugin is too old, please update to a more recent version, or set ANDROID_DAILY_OVERRIDE environment variable to "c1b9f8c9ba6edf57abf0bf0a680ecf1cd51bbfbe"Consult IDE log for more details (Help | Show Log)(2) 解決方案
解決方案 :?
-- 參考 : 點擊打開鏈接;
-- 解決方案 : 去?https://jcenter.bintray.com/com/android/tools/build/gradle/ 網站查看最新的 Gradle 插件版本;
-- 轉載資料 :?
一、問題原理 其實問題也很明確,就是插件太老需要更新。下面舉個很好但是很久以前的例子,原理都是一樣的:This is my app gradle file:android {compileSdkVersion 22buildToolsVersion "22.0.0"defaultConfig {applicationId "xxx.xxxxxx.xxxxx"versionCode 1versionName '1'minSdkVersion 9targetSdkVersion 22versionCode 1versionName '1'}buildTypes {release {minifyEnabled falseproguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'}}dependencies {compile fileTree(dir: 'libs', include: ['*.jar'])compile 'com.android.support:appcompat-v7:22.0.0'compile 'com.google.android.gms:play-services:6.5.87'compile 'com.android.support:recyclerview-v7:21.0.0'compile 'com.android.support:cardview-v7:21.0.0'compile 'com.facebook.android:facebook-android-sdk:3.21.1'testCompile 'junit:junit:4.12'compile project(':volley') }This is my top build.gradle:buildscript {repositories {jcenter()}dependencies {classpath 'com.android.tools.build:gradle:1.1.0-rc1'// NOTE: Do not place your application dependencies here; they belong// in the individual module build.gradle files} }allprojects {repositories {jcenter()} } 1.上邊的就是gradle版本太老需要把:classpath 'com.android.tools.build:gradle:1.1.0-rc1'change to:classpath'com.android.tools.build:gradle:1.1.3'//latest 2.2.0-alpha1 現在gradle的版本已經更新到2.13啦。基本上就是gradle的問題。2.App build.gradle:Change:compile'com.android.support:recyclerview-v7:21.0.0' compile'com.android.support:cardview-v7:21.0.0' To:compile'com.android.support:recyclerview-v7:22.0.0'//latest23.1.1 compile'com.android.support:cardview-v7:22.0.0'//latest23.1.1 打開SDK Manager把依賴包也更新,一般更新到最新就可以啦。下邊是一些插件的網址:Gradle: https://gradle.org/downloadsAlways check the Android SDK Manager for the latest revisions:Android Build Tools Plugin: http://tools.android.com/tech-docs/new-build-systemAndroid Support Libraries: http://developer.android.com/tools/support-library/features.htmlTo view the latest plugin releases, view the Bintray Jcenter page directly:https://bintray.com/android/android-tools/com.android.tools.build.gradle/view.可以參考這個回答:http://stackoverflow.com/questions/29063968/plugin-is-too-old-please-update-to-a-more-recent-version-or-set-android-daily二、更新gradle 這個更新gradle真的是很坑啊,百度了半天,倒是找到不少解決辦法,但真的是很簡潔!!!一些主要步驟都給省略啦,這讓我這種新手怎么辦!!在這里總結下:這是離線更新,如果FQ在線更新的話也是一樣的,在線更新就把下邊的步驟1略過即可,從2開始看。1.先去gradle官網把最新的gradle下下來,Gradle官網: https://gradle.org/downloads 注意:下載完不要解壓!2.在你的項目根目錄下面找gradle/wrapper/gradle-wrapper.properties這個文件,修改里邊的文件內容:#Mon Dec 28 10:00:20 PST 2015 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists distributionUrl=https\://services.gradle.org/distributions/gradle-2.13-all.zip就是改最后一行:distributionUrl=https\://services.gradle.org/distributions/gradle-2.13-all.zip這個改為最新的版本,這里最新就是2.1我這是修改完的。3.第三部很重要的一步,先打開你的Gradle 的user home ,默認是 C:\Users\【你當前的 用戶名】 \.gradle 。按下圖的路徑展開,只是打開不要動任何東西在Android Studio內置的終端:Terminal 如圖:輸入gradlew -v執行這個命令會自動下載上邊設置的版本:2.13,我這里已經下載完了,所以顯示的是gradle 2.13。注意執行這個命令gradlew -v才會生成gradle-XXX-all和名字亂碼的那個文件夾,我當時看別人的方法就很苦惱那個名字亂碼的文件夾是怎么生成的!執行后顯示:Downloading distributionUrl=https\://services.gradle.org/distributions/gradle-2.13-all.zip //大致就是這個,說明它正在下載,如果你想FQ在線更新就可以一直等它執行完畢,我試過FQ的情況下速度也是可以的這時候你就注意上邊打開的哪個文件夾,不斷刷新看看是否生成了最新版本gradle的文件夾,有了這個文件夾就打開里邊是一個名字是亂碼文件夾,gradle-2.13-all\1b9wlm73elu4cqnbc0rk7r7qn//這個是我的看到生成這個文件夾之后就可以關掉android studio了。4.把第一步的壓縮包復制到上邊生成的亂碼文件夾里,打開android studio,在Terminal里輸入:gradlew -v,就會自動解壓,你只需等待就可以。如圖:解壓完成后:至此你的gradle就更新到了最新版本。可以參考這個:http://www.cnblogs.com/leo-lsw/p/gradle-first-created-error.html搞了好久終于整明白這個問題啦,總結下希望能幫到和我一樣的新手。。。。轉載注明出處:http://www.cnblogs.com/jycboy/p/5534009.html三、更新Android Gradle Plugin 發現有時候更新了gradle但是gradle plugin版本也不可以。下面就改android plugin versionhttps://jcenter.bintray.com/com/android/tools/build/gradle/ android plugin version 改成最新的; 在android studio里project structrue->Project->Android Plugin Version里直接改成最新的,然后build Project就可以參考知乎:http://www.zhihu.com/question/39036683/answer/91435802 //這個回答:都用最新的 就可以了 https://jcenter.bintray.com/com/android/tools/build/gradle/ android plugin version 改成最新的;Gradle Distributions gradle version 目前最新版本是2.12 手動下下來,放到本地,配置 gradle home
?
.
8. * What went wrong:Execution failed for task ':xxx:clean'.> Unable to delete directory: C:\hanshuliang\develop\workspace\xxx\build\outputs\apk
(1) 報錯信息
報錯信息 :?
Information:Gradle tasks [:APP_OCTOPUS:clean, :APP_OCTOPUS:generateDebugSources, :APP_OCTOPUS:mockableAndroidJar, :APP_OCTOPUS:prepareDebugUnitTestDependencies, :APP_OCTOPUS:generateDebugAndroidTestSources, :APP_OCTOPUS:assembleDebug] Error:Execution failed for task ':APP_OCTOPUS:clean'. > Unable to delete directory: C:\hanshuliang\develop\workspace\OCTOPUS\APP_OCTOPUS\build\outputs\apk Information:BUILD FAILED Information:Total time: 6.29 secs Error:FAILURE: Build failed with an exception.* What went wrong: Execution failed for task ':APP_OCTOPUS:clean'. > Unable to delete directory: C:\hanshuliang\develop\workspace\OCTOPUS\APP_OCTOPUS\build\outputs\apk* Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.Information:2 errors Information:0 warnings Information:See complete output in console
(2) 解決方案
解決方案 :?
-- 參考鏈接 : http://stackoverflow.com/questions/25051278/unable-to-clean-project-in-android-studio;
-- 到 windows 目錄中刪除該文件 : 發現無法刪除, 直接用 360 強力刪除 搞定, 芝麻大點問題;
.
9. UnsupportedMethodException Error executing task com.intellij.execution.impl.ExecutionManagerImpl$5@3f12ec8a: Unsupported method: AndroidArtifact.getInstantRun().
(1) 報錯信息
報錯信息 :
下午6:47:50 UnsupportedMethodExceptionError executing task com.intellij.execution.impl.ExecutionManagerImpl$5@3f12ec8a: Unsupported method: AndroidArtifact.getInstantRun().The version of Gradle you connect to does not support that method.To resolve the problem you can change/upgrade the target version of Gradle you connect to.Alternatively, you can ignore this exception and read other information from the model. 下午6:48:48 Executing tasks: [:app_midi_sheet_music:assembleDebug]
(2) 解決方案
解決方案?:?
--?參考鏈接?: http://blog.csdn.net/piscesq329a/article/details/49945239;
-- 取消 Instant Run 選項 : 進入 Setting 進行如下設置 : 取消 Instant Run 選項;
10. Error:Unable to find method 'org.gradle.api.tasks.Sync.getInputs()Lorg/gradle/api/internal/TaskInputsInternal;'.
報錯信息 :?
-- 錯誤信息 :?
Error:Unable to find method 'org.gradle.api.tasks.Sync.getInputs()Lorg/gradle/api/internal/TaskInputsInternal;'. Possible causes for this unexpected error include:1.Gradle's dependency cache may be corrupt (this sometimes occurs after a network connection timeout.) 網絡中斷 -- Re-download dependencies and sync project (requires network)2. The state of a Gradle build process (daemon) may be corrupt. 其它 Gradle 進程干擾 -- Stopping all Gradle daemons may solve this problem.3. Stop Gradle build processes (requires restart) 重啟 AS Your project may be using a third-party plugin which is not compatible with the other plugins in the project or the version of Gradle requested by the project. In the case of corrupt Gradle processes, you can also try closing the IDE and then killing all Java processes.
解決方案 :?
-- 解決方案 : 更新最新的 SDK Tools, Gradle, Gradle Plugin;
-- 更新最新 Gradle 插件 : 更新最新的 Gradle 插件, 到 https://jcenter.bintray.com/com/android/tools/build/gradle/?網站查看最新的 Gradle 插件, 查詢到最新的插件版本為?2.3.0-beta1,?
-- 更新最新的 Gradle 工具 : 查看地址 https://services.gradle.org/distributions/, 最新的是 gradle-3.3-all.zip, 將 gradle/wrapper/gradle-wrapper.properties 中的?distributionUrl 更新成?distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip ;
-- 更新最新的 SDK Build Tools : 到 SDK Manager 中更新最新的 SDK 和 SDK BuildTools;
.
.
總結
以上是生活随笔為你收集整理的【Android应用开发】Android Studio 错误集锦 -- 将所有的 AS 错误集合到本文的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【IOS 开发】Objective-C
- 下一篇: 【iOS 开发】iOS 开发 简介 (I