Android开发中遇到的错误处理汇总(持续更新)

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_38021928/article/details/80302215

————————————- 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 很可能还是混淆文件的问题,检查文件名及后缀


希望各位大神也可以在评论区添加自己遇到的一些错误,我们一起汇总提高!

展开阅读全文

没有更多推荐了,返回首页