1. 程式人生 > >AndroidStudio 編譯中遇到問題總結

AndroidStudio 編譯中遇到問題總結

1. 問題:執行專案中遇到,Error:Execution failed for task ':app:processDebugResources'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'E:\Android\SoftWare\adt-bundle-windows-x86_64-20140702\sdk\build-tools\23.0.1\aapt.exe'' finished with non-zero exit value 1

ERROR: In <declare-styleable> CirclePageIndicator, unable to find attribute strokeWidth,如圖:

解決方法:我又是百度又是問人摸索了快一天才找到原因,認真分析Error資訊你會發現,是Resources的原因In <declare-styleable> CirclePageIndicator, unable to find attribute strokeWidth。我沒有宣告<declare-styleable> 中strokeWidth屬性,在Eclipse中不會報錯,但在AS中會,如圖:

2.1問題:在網上也找到了類似問題1,但還是有細微的差別(一個是value 1,另一個是value2),所以解決問題也不同,如圖:

2.2 還有一個類似的問題:

E> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException:  'command '/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/bin/java'' finished with non-zero exit value 1 rror:Execution failed for task ':app:transformClassesWithDexForDebug'.

解決辦法:和問題3一樣。

3.問題:我在Android Studio裡選擇Open一個別專案,然後執行提示說
Error:failed to find Build Tools revision 23.0.0
Install Build Tools 23.0.0 and sync project

如圖:

原因是Module下build.gradle中的buildToolsVersion不相容導致,buildeToolVersion是你構建工具的版本,其中包括了打包工具aapt、dx等等。這個工具的目錄位於..your_sdk_path/build-tools/XX.XX.XX。

解決方法1.

還可以不同系統版本一起下載,如下圖:

解決方法2.把你專案中的build-tools revision替換為你已經下載的build-tools version的即可,如圖:

原文錯誤提示:
Error:(16, 0) Gradle DSL method not found: 'android()'
Possible causes:The project ‘XXXXXXX' may be using a version of Gradle that does not contain the method.
Open Gradle wrapper file The build file may be missing a Gradle plugin.
Apply Gradle plugin
錯誤原因:
android studio 引進專案時,自動查詢本機是否有專案設定的SDK版本,若發現沒有,我們會在project structure修改成自己的SDK。如下圖:

然而,修改後,AS會自動在專案下的build.gradle裡新增上以下程式碼:

解決辦法:

刪除以上圖片中紅框中的程式碼,然後再執行build->Rebuild project

5.問題:Error:No such property: GROUP for class: org.gradle.api.publication.maven.internal.ant.DefaultGroovyMavenDeployer

解決方法:開啟其build.gradle檔案,然後你註釋掉或刪掉最後一行程式碼(與maven有關的 ,//apply from:‘fradle-mvn-push.gradle’),重新build一下就OK了

6.問題:Error:Could not run build action using Gradle installation 'E:\Android\SoftWare\android_studio-1.5\android-studio\gradle\gradle-2.8'.

解決方法:File -> Invalidate Caches/Restart

7.問題:Error:(1, 0) Plugin is too old, please update to a more recent version, or set ANDROID_DAILY_OVERRIDE environment variable to "8051cdccc746d532152541ee35015fd83699f14",如圖:

解決辦法1:

解決辦法2:

8. 問題:Error:Cause: org/gradle/api/publication/maven/internal/DefaultMavenFactory Android

解決方法:Project Structure->Project->Android Plugin Version修改為以前能正常執行的專案Version

9.問題:failed to find target with hash string 'android-17'

解決方法:

10.問題:找不到專案依賴的module/library中的包或類。

Error:(27, 35) 錯誤: 找不到符號
符號:   類 JsCallback
位置: 程式包 cn.pedant.SafeWebViewBridge

如圖:

解決辦法:可能是以來的包沒有新增依賴,新增成功就行。如圖:

11.問題:執行Android時報錯Throwable:Unable to locate adb within SDK

解決方法1:在SDK安裝目錄的\platform-tools下放入adb.exe

解決方法2:直接下載,如圖:

12.問題:Failed to resolve :com.android.support:appcompat-v7:23.+。

解決方法:如圖

13、問題:Android Studio卡在Gradle: Resolve dependencies ':app:_debugCompile'

解決方法:

1、把gradle設定為offline

2、可能是gradle或其它有需要更新,我就是把東西都更新後解決的

14、android studio 編譯so遇到的問題

1.build.gradle少了配置導致

Error:Execution failed for task ':app:compileDebugNdk'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'D:\Android\android-ndk-r10\ndk-build.cmd'' finished with non-zero exit value 2

Warning:Native C/C++ source code is found, but it seems that NDK option is not configured. Note that if you have an Android.mk, it is not used for compilation. The recommended workaround is to remove the default jni source code directory by adding:
android {
sourceSets {
main {
jni.srcDirs = []
}
}
}

解決方法如圖在build.gradle中加入

15、Error:Cannot configure the 'publishing' extension after it has been accessed.

解決辦法:Clean Project 或 RebuildProject,這樣在下面的Message中就會報錯,分析出錯的原因就,我遇到的原因是,專案改動gradle中的版本依賴引起的,恢復到專案原來的版本就行了,具體原因還待探究

classpath 'com.android.tools.build:gradle:1.3.0'
16、Unsupported method: AndroidProject.getPluginGeneration() while running project
解決辦法:專案的gradle版本過低,不支援Instant Run,關閉就行了。

Windows & Linux:

File -> Settings -> Build, Execution, Deployment -> Instant Run.

Mac:

Android Studio -> Preferences -> Build, Execution, Deployment -> Instant Run.

解決辦法:tools -> Adnroid -> enable ADB integration

18、問題:intermediates/res/merged/yongche/debug/values-v23 屬性不存在

解決辦法:我遇到的事子Module和主Module 都引用了support-v7包衝突導致,刪除一個即可

19、問題:在Project Structure中找不到新建的Module

解決辦法:在setting.gradle中新增Module的名稱即可

20、問題:

Suggestion: add 'tools:replace="android:icon"' to <application> element at AndroidManifest.xml:70:5-1100:19 to override.

解決辦法:子 Module和主Module可能有重複的類,並且裡面的屬性也一樣衝突,如android:icon、android:theme

21、問題:Android Studio打簽名包安裝時失敗,Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]

解決方法:同時選中signature version中的v1和v2

22、問題:The APK file /Users/gaolei/Work/CompanyProject/BrandCar/android-weidao-driver/DriverZhuanche/app/build/outputs/apk/yc_v6.5.3_yongche_debug.apk does not exist on disk.Error while Installing APK

解決方法:sync grade,如圖

23、問題:AndroidStudio建立專案時一直處於building“project name”gradle project info

解決辦法:耐心等待,等它Build完就行了,我的也就花費了幾分鐘

24、問題:android studio 程式碼報紅也能執行

解決辦法:點選 sync cradle

25、問題:在AndroidStudio在建立新的Projcet的時候還是一直處於Gradle:Build的狀態

解決方法:正常現象,等它build完就行了,也就幾分鐘的事

26、問題:AndroidStudio在建立模擬器時可能會遇到下面這個問題,或者根本就無法建立或啟動模擬器(無論是Mac或Windows)

emulator: ERROR: x86 emulation currently requires hardware acceleration!
Please ensure Intel HAXM is properly installed and usable.
CPU acceleration status: HAX kernel module is not installed!

27、Error:Failed to open zip file.
Gradle's dependency cache may be corrupt (this sometimes occurs after a network connection timeout.)

解決辦法:修改distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip,把以前能正常執行的專案gradle版本複製替換

28、報錯:Failed to finalize session : INSTALL_FAILED_INVALID_APKLE

解決辦法:直接clean 專案後,然後執行就可以

29、問題:android studio 混淆時Error:Execution failed for task ':app:transformClassesAndResourcesWithProguardForRelease'. > Job failed, see logs for details

31、問題:Android studio initialization of VM Could not reserve enough space for 1572864KB object heap

解決辦法:org.gradle.jvmargs=-Xmx1536m 改為 org.gradle.jvmargs=-Xmx512m

 32、問題:Error:Error converting bytecode to dex:

Cause: com.android.dex.DexException: Multiple dex files define Lcom/gradle/mylibrary/BuildConfig;

解決方法:專案中兩個module的manifest中package設為相同了,改為不同就行了。

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.gradle.mylibrary" />
33、問題:aar已經在libs資料夾內,但是不能夠被解析到

解決方法:

repositories {

flatDir {

dirs project(':mylibrary').file('libs')

}

}

34、問題:

解決方法:開啟 Module Setting -> Properties ->Source Compatibility ,選擇jdk 1.7 .我試了這樣行,如下圖

35、問題:Error:Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'.
>java.lang.RuntimeException:java.lang.RuntimeException:com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex

解決辦法:這個是依賴包重複了。我遇到的是 support:27和26包重複()。如下圖:

36、問題android lib模組switch case,報錯:constant expression require

解決方法:改為if  else if

37、Android Studio解決未識別Java檔案(出現紅J)問題或者一片飄紅

解決方法:Gradle sync

38、問題:不能引用其它Module的dependencies或jar包

解決方法:gradle 3.x.x 中,把 implementation改為api,因為implementation 修飾的只能在當前module中引用,你在app下是引用不了的,你改完重新編譯下即可進行引用了。

39、

問題:Android studio 混淆打包安裝後報錯NullPointerException int java.util.List.size()

解決方式:所有的實體類都不用混淆,如:

#所有model類不要混淆。
-keep class com.com.entity.**{*;}