此文章用以记录项目开发中遇到的一些比较常见的bug,以及解决方法,以便以后再次遇到能够有据可查。
1、将一个项目复制,改名之后,重新打开编译错误,报了如下错误:
com.android.builder.internal.aapt.AaptException: Failed to crunch file
经过搜索后发现原来是在Windows中不允许存在比较长的路径名称所造成的,路径长度必须低于240个字符,如果有那个文件的绝对路径长度超过了240个字符,则会报次错误,编译报错。随意把路径改短后,Android Studio顺利编译通过。
2. 项目打包编译报错:
java.lang.UnsatisfiedLinkError:dlopen failed: /data/app/***.so:has text relocations
原因:在android 开发中调用.so文件,在android 7.0版本中报了上面的错误,经过反向查证,是so文件的编译版本sdk过低了,应该在7.0的sdk以下去编译。
解决办法:将项目目标(targetSdkVersion)SDK版本降低。(我是之前将SDK从18调到了27,故报此错),所以将我自己项目中的SDK27降回了18,重新编译就OK了。
3、Thread already started
进程已经开启,再次开启此进程就会报错
解决办法: new Thread(进程名).start();
4、ANR抓取Log步骤:
adb logcat -d > abc.log 将Log导入到abc.log文件中,默认路径为:C:\Users\(计算机用户名)中;
抓取anr Log 不要过滤,要按确定之后得到的堆信息。
不用root 也可以访问到文件 cat /data/anr/tra