Android開發中遇到的錯誤處理彙總(持續更新)

------------------------------------- read the fucking source code--------------------------------
Android開發中經常會遇到一些沒處理過的錯誤,一時也不知道怎麼處理,後來通過百度才知其所以然。爲了方便在Android開發過程中提高錯誤處理效率,特在這篇文章中彙總錯誤的現象及處理的辦法。歡迎評論補充修正。

1.Error:Unrecognized Windows Sockets error: 5: connect
setting中設置gradle爲本地的gradle路徑,並且設置爲offline模式。

2.Error:Unable to resolve dependency for ‘:app@debug/compileClasspath’: Could not resolve com.android.support:appcompat-v7:26.0.0-beta1.
app/gradle目錄下gradle文件中dependency中的依賴包無法編譯。註釋掉就好。

3.Error:(101) error: style attribute ‘attr/colorPrimary (aka com.example.l26141.roip_grouphome_demo:attr/colorPrimary)’ not found.
主題發生衝突,註釋掉values中styles中的xml字段
4.Error:(9) error: attribute ‘android:roundIcon’ not found.
找不到資源文件,直接刪除掉無效,修改app.gradle文件中的targetSdkVersion值

5.Error:Failed to find Build Tools revision 22.0.2
gradle文件中的buildToolsVersion 設置有誤,構建文件出現資源文件找不到主要是gradle版本不配套的問題導致。

6.Error:Cause: startup failed: build file ‘E:\test-Branch\test-Branch-dev\test-apk_lastest\groupHome\build.gradle’: 79: unexpected token: implementation @ line 79, column 5.implementation files(‘libs/picasso-2.5.2.jar’)
有可能是上下文中缺少符號,語法錯誤。

7.Error:Unable to resolve dependency for ‘:app@debug/compileClasspath’: Could not resolve :app-release:
minSdkVersion 的版本值可能太小,嘗試改大之後可以構建成功。

8.混淆不成功
檢查app目錄下的混淆文件proguard-rules.pro,註釋掉-dontobfuscate;檢查 gradle 文件中的minifyEnabled應該設置爲true。
編譯混淆之後應該有mapping文件輸出app/outputs/mapping/release/mapping.txt

9.Installation failed with message Invalid File: E:\SDKWorkSpace\SDK&&DEMO1.16\GoupworkDemo\GoupworkDemo\app\build\intermediates\split-apk\debug\slices\slice_0.apk.
It is possible that this issue is resolved by uninstalling an existing version of the apk if it is present, and then re-installing.
終端上的軟件信息沒有刪除乾淨,可以用AS中的build apk然後adb install一下。

10.Error:Removing unused resources requires unused code shrinking to be turned on. 將build.gradle文件中的shrinkResources設置爲 false

11.Error:Execution failed for task ‘:app:transformDexArchiveWithExternalLibsDexMergerForDebug’.
java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex

12.如果多開項目,在AS2.0,3.0上運行,偶爾會出現編譯不成功的情況Execution failed for task ':app:compileDebugJavaWithJavac

13。 Error:(53, 30) 錯誤: 程序包net.sqlcipher.database不存在
gradle文件中可能沒有編譯這個jar包或者aar包

14.Error:(56, 0) Could not find method implementation() for arguments [file collection] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.

15.裝app時偶先can’t load native library
可以嘗試先clean project然後rebuild project,然後run一下。

16.crashsdk: crashsdk_registerInfoworkback: Current thread has no JNI environment, add for native only
java.lang.RuntimeException: Fail to connect to camera service
嘗試將demo中應用的權限都打開。
17.java.lang.ClassNotFoundException: Didn’t find class “android.dsp.proxy.CommonAccManager$AccManagerListenerInternal” on path:
在諾基亞手機上開啓應用crash異常,

18.android.os.Build.MODEL.equalsIgnoreCase(“Nexus 6P”)
android.os.Build.MODEL.equalsIgnoreCase(“HND-DX”)

19.Error:Execution failed for task ‘:app:transformDexArchiveWithExternalLibsDexMergerForDebug’.
com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex

20.java.lang.NullPointerException: Attempt to invoke virtual method ‘java.lang.Class java.lang.Object.getClass()’ on a null object reference at com.android.tools.profiler.support.profilers.EventProfiler$InputConnectionHandler.run(EventProfiler.java:294) at java.lang.Thread.run(Thread.java:784)

21.Error:(157) error: unknown element found. 問題是provider多了個字符d,但是刪除了之後立馬又出現了,編譯不通過。

22.Cannot start internal HTTP server. Git integration, JavaScript debugger and LiveEdit may operate with errors. Please check your firewall settings and restart Android Studio
save settings: Failed to save settings. Please restart Android Studio

23.Error:(1, 0) Plugin with id ‘com.android.application’ not found. gradle配置問題

24.Frameworks detected: Android framework is detected in the project Configure

25.即使通信休眠被掛起的問題,添加:白名單adb shell dumpsys deviceidle whitelist +com.company 驗證白名單是否添加成功: adb shell dumpsys deviceidle

26.System.err:at com.company.presence.PS_HTTP$1.run(PS_HTTP.java:58) 獲取組成員失敗,OKhttp請求失敗

27 incompatible types: request:android.widget.RelateLayout, found android.view.view --需要將view向下轉型爲relatelayout

28.Error:Execution failed for task ‘:groupHome:transformDexArchiveWithExternalLibsDexMergerForDebug’.
com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex
有可能是dependencies中又重複編譯的依賴包導致,刪除重複的就可以了。

29.service 中創建dialog時 出現java.lang.RuntimeException: Can’t create handler inside thread that has not worked Looper.prepare()
dialog之類的view需要在UI線程中創建。

  1. 有關sharedpreference問題,需要重啓應用才能生效,因爲這個是永久保存的。

31.android點擊事件不響應 motion-hal MotionHubChannel::readEvents motion_type == MOTIONHUB_TYPE_ROTATION 很可能是沒有獲取到焦點,有可能是重複監聽了點擊事件。

32.android.util.AndroidRuntimeException: requestFeature() must be worked before adding content : dialogview show 的方法必須在setcontentview方法調用之前。

33.使用EventBus時遇到 java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/gson/Gson; at xiaofei.library.hermes.util.CodeUtils(CodeUtils.java:28)

34.混淆或者打包apk不成功時,檢查下項目中的混淆文件以及混淆開關是否正確,混淆文件後綴名要求pro

35.音頻播放時,提示“Should have subtitle controller already set” error,在手機上可以播放,有可能是夜神模擬器調用不了電腦的揚聲器。

36.可以忽略:Should have subtitle controller already set

37.E/MediaPlayer: error (1, -2147483648),有可能是手機不支持視頻編碼格式。

38.Error:(13) Tag attribute name has invalid character ’ '.uses-permission不能換行書寫,容易留下空白字符。

39.E/MediaRecorder: start failed: -19,需要註釋掉mediaRecorder.setVideoSize();以及mediaRecorder.setVideoFrameRate();

40.E/dalvikvm: Could not find class ‘com.company.utils.PreferencesWrapper$1’, referenced from method com.company.utils.PreferencesWrapper.

41.非法字符\uff08 代表的是有符合,比如(使用的是中文的(而不是英文的。

42.Can not resolve the method getSystemService.很有可能是調用系統服務的位置不對,getSystemService是activity的方法,需要在activity中調用。如果在Fragment中調用SystemService需要先getActivity。比如:vibrator = (Vibrator)getActivity().getSystemService(Service.VIBRATOR_SERVICE);

43.NullpointerException:表示沒有獲取到對象,空引用。

44.每次和代碼的時候一定要注意備份!以及在java.com.company.api下放的都是java文件,在src.main.aidl.com.company.api下都是aidl文件。

45.使用actionbarsherlock時,如果報錯誤找不到floatmath類,這是因爲調試機爲android6.0以上的,而floatmath類在android6.0以上就廢棄了,需要將floatmath修改爲math。

46.Error:(76, 43) 錯誤: 不兼容的類型: android.app.ActionBar無法轉換爲android.support.v7.app.ActionBar.

47.MediaPlayer播放資源文件時異常,時有時無,多半和MediaPlayer生命週期有關。

48.android 發佈混淆apk時,容易報錯,提示error converting bytecode to dex.這個有可能是混淆文件中出現了重複的編譯文件,去掉一個即可。

49.java.lang.StackOverflowError: stack size 8MB :有很大可能是因爲調用了第三方庫引入的問題。

50.Error:Android Source Generator: Error: Can’t find bundle for base name messages.AndroidJpsBundle, locale zh_CN
java.util.MissingResourceException: Can’t find bundle for base name messages.AndroidJpsBundle, locale zh_CN
at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1564)

51 Error:com.android.builder.dexing.DexArchiveBuilderException: Failed to process E:\test_newUI_dev\groupHome\build\intermediates\transforms\instantRunSlicer\debug\3
退出AS,刪除項目下的build文件夾

52.previw is unavailable until a successful build。 重啓rebuild項目再試試

53.佈局中的imageview顯示不出來,可能是一些設置的屬性和相應的sdk不匹配。比如我們這次遇到的是app:srcCompat屬性。

54.no slave process to process jobs 需要clean 一下工程,重啓就好。

55.refusing to generate code from aidl file defining parcelable 很可能還是混淆文件的問題,檢查文件名及後綴

  1. antiscreenonly the original thread that created a view hierarchy can touch its views
    js回調如果需要進行UI操作,需要在主線程中執行

希望各位大神也可以在評論區添加自己遇到的一些錯誤,我們一起彙總提高!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章