前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >那些年遇到的Bug(1)

那些年遇到的Bug(1)

作者头像
用户1337002
发布2018-03-09 10:29:07
8670
发布2018-03-09 10:29:07
举报
文章被收录于专栏:猿份到猿份到

一、SHA-1混淆

代码语言:javascript
复制
Found 2 versions of android-support-v4.jar in the dependency list,
 but not all the versions are identical (check is based on SHA-1 only at this time).
All versions of the libraries must be the same at this time.
 Versions found are:
Path: D:\workspace\新闻\libs\android-support-v4.jar
Length: 627582
SHA-1: db0f122c99ef9f90dbab3fada6d191f2880cbb8e
Path: D:\workspace\library\libs\android-support-v4.jar
Length: 385685
SHA-1: 48c94ae70fa65718b382098237806a5909bb096e
 Jar mismatch! Fix your dependencies 

解决方案:将项目的libs下的jar和所添加的依赖库中的jar换成同一个版本的即可,直接覆盖v4jar

二、MainActivity找不到

代码语言:javascript
复制
04-28 06:10:15.508: E/AndroidRuntime(849): Caused by: java.lang.ClassNotFoundException: com.example.aaa.MainActivity
04-28 06:10:15.508: E/AndroidRuntime(849): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61)
04-28 06:10:15.508: E/AndroidRuntime(849): at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
04-28 06:10:15.508: E/AndroidRuntime(849): at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
04-28 06:10:15.508: E/AndroidRuntime(849): at android.app.Instrumentation.newActivity(Instrumentation.java:1053)
04-28 06:10:15.508: E/AndroidRuntime(849): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1974)
04-28 06:10:15.508: E/AndroidRuntime(849): ... 11 more

分析 : ClassNotFoundException MainActivity类没有找到。 在打包的时候,v4的冲突造成的 解决方案,重新编译,换个SDK 的版本,clean也不行

三、fragment中的view视图没有添加

原因:①因为粗心在oncreateView方法中没有返回自己定义的View视图,而是使用的是super.XXXX,so,项目不报错,但是也运行不出效果

②还有一个就是开启了事务了,没有commit提交,所以代码不报错,但是效果也没有出来

解决方案:①记得要返回自己定义的view视图哦

②一定要commit(555555555),否则你会后悔的哦,亲!

四、android的性能优化

代码语言:javascript
复制
04-29 02:53:44.654: E/AndroidRuntime(326): FATAL EXCEPTION: main
04-29 02:53:44.654: E/AndroidRuntime(326): java.lang.StackOverflowError
04-29 02:53:44.654: E/AndroidRuntime(326): at java.lang.String.getChars(String.java:1003)
04-29 02:53:44.654: E/AndroidRuntime(326): at android.text.TextUtils.getChars(TextUtils.java:63)
04-29 02:53:44.654: E/AndroidRuntime(326): at android.text.TextUtils.indexOf(TextUtils.java:102)
04-29 02:53:44.654: E/AndroidRuntime(326): at android.text.StaticLayout.generate(StaticLayout.java:131)
04-29 02:53:44.654: E/AndroidRuntime(326): at android.text.StaticLayout.<init>(StaticLayout.java:97)
04-29 02:53:44.654: E/AndroidRuntime(326): at android.text.StaticLayout.<init>(StaticLayout.java:54)
04-29 02:53:44.654: E/AndroidRuntime(326): at android.text.StaticLayout.<init>(StaticLayout.java:45)
04-29 02:53:44.654: E/AndroidRuntime(326): at android.widget.TextView.makeNewLayout(TextView.java:4912)
04-29 02:53:44.654: E/AndroidRuntime(326): at android.widget.TextView.onMeasure(TextView.java:5174)
04-29 02:53:44.654: E/AndroidRuntime(326): at android.view.View.measure(View.java:8171)
04-29 02:53:44.654: E/AndroidRuntime(326): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132)
04-29 02:53:44.654: E/AndroidRuntime(326): at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1012)
04-29 02:53:44.654: E/AndroidRuntime(326): at android.widget.LinearLayout.measureVertical(LinearLayout.java:381)
04-29 02:53:44.654: E/AndroidRuntime(326): at android.widget.LinearLayout.onMeasure(LinearLayout.java:304)
04-29 02:53:44.654: E/AndroidRuntime(326): at android.view.View.measure(View.java:8171)
04-29 02:53:44.654: E/AndroidRuntime(326): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132)
04-29 02:53:44.654: E/AndroidRuntime(326): at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1012)
04-29 02:53:44.654: E/AndroidRuntime(326): at android.widget.LinearLayout.measureVertical(LinearLayout.java:381)
04-29 02:53:44.654: E/AndroidRuntime(326): at android.widget.LinearLayout.onMeasure(LinearLayout.java:304)
04-29 02:53:44.654: E/AndroidRuntime(326): at android.view.View.measure(View.java:8171)
04-29 02:53:44.654: E/AndroidRuntime(326): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132)
04-29 02:53:44.654: E/AndroidRuntime(326): at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1012)
04-29 02:53:44.654: E/AndroidRuntime(326): at android.widget.LinearLayout.measureVertical(LinearLayout.java:381)
04-29 02:53:44.654: E/AndroidRuntime(326): at android.widget.LinearLayout.onMeasure(LinearLayout.java:304)
04-29 02:53:44.654: E/AndroidRuntime(326): at android.view.View.measure(View.java:8171)
04-29 02:53:44.654: E/AndroidRuntime(326): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132)
04-29 02:53:44.654: E/AndroidRuntime(326): at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1012)
04-29 02:53:44.654: E/AndroidRuntime(326): at android.widget.LinearLayout.measureVertical(LinearLayout.java:381)
04-29 02:53:44.654: E/AndroidRuntime(326): at android.widget.LinearLayout.onMeasure(LinearLayout.java:304)
04-29 02:53:44.654: E/AndroidRuntime(326): at android.view.View.measure(View.java:8171)
04-29 02:53:44.654: E/AndroidRuntime(326): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132)
04-29 02:53:44.654: E/AndroidRuntime(326): at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1012)
04-29 02:53:44.654: E/AndroidRuntime(326): at android.widget.LinearLayout.measureVertical(LinearLayout.java:381)
04-29 02:53:44.654: E/AndroidRuntime(326): at android.widget.LinearLayout.onMeasure(LinearLayout.java:304)
04-29 02:53:44.654: E/AndroidRuntime(326): at android.view.View.measure(View.java:8171)
04-29 02:53:44.654: E/AndroidRuntime(326): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132)
04-29 02:53:44.654: E/AndroidRuntime(326): at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1012)
04-29 02:53:44.654: E/AndroidRuntime(326): at android.widget.LinearLayout.measureVertical(LinearLayout.java:381)
04-29 02:53:44.654: E/AndroidRuntime(326): at android.widget.LinearLayout.onMeasure(LinearLayout.java:304)
04-29 02:53:44.654: E/AndroidRuntime(326): at android.view.View.measure(View.java:8171)
04-29 02:53:44.654: E/AndroidRuntime(326): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132)
04-29 02:53:44.654: E/AndroidRuntime(326): at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1012)
04-29 02:53:44.654: E/AndroidRuntime(326): at android.widget.LinearLayout.measureVertical(LinearLayout.java:381)
04-29 02:53:44.654: E/AndroidRuntime(326): at android.widget.LinearLayout.onMeasure(LinearLayout.java:304)
04-29 02:53:44.654: E/AndroidRuntime(326): at android.view.View.measure(View.java:8171)
04-29 02:53:44.654: E/AndroidRuntime(326): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132)
04-29 02:53:44.654: E/AndroidRuntime(326): at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1012)
04-29 02:53:44.654: E/AndroidRuntime(326): at android.widget.LinearLayout.measureVertical(LinearLayout.java:381)
04-29 02:53:44.654: E/AndroidRuntime(326): at android.widget.LinearLayout.onMeasure(LinearLayout.java:304)
04-29 02:53:44.654: E/AndroidRuntime(326): at android.view.View.measure(View.java:8171)
04-29 02:53:44.654: E/AndroidRuntime(326): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132)
04-29 02:53:44.654: E/AndroidRuntime(326): at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1012)
04-29 02:53:44.654: E/AndroidRuntime(326): at android.widget.LinearLayout.measureVertical(LinearLayout.java:381)
04-29 02:53:44.654: E/AndroidRuntime(326): at android.widget.LinearLayout.onMeasure(LinearLayout.java:304)
04-29 02:53:44.654: E/AndroidRuntime(326): at android.view.View.measure(View.java:8171)
04-29 02:53:44.654: E/AndroidRuntime(326): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132)
04-29 02:53:44.654: E/AndroidRuntime(326): at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1012)
04-29 02:53:44.654: E/AndroidRuntime(326): at android.widget.LinearLayout.measureVertical(LinearLayout.java:381)
04-29 02:53:44.654: E/AndroidRuntime(326): at android.widget.LinearLayout.onMeasure(LinearLayout.java:304)
04-29 02:53:44.654: E/AndroidRuntime(326): at android.view.View.measure(View.java:8171)
04-29 02:53:44.654: E/AndroidRuntime(326): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132)
04-29 02:53:44.654: E/AndroidRuntime(326): at android.widget.Line

分析:由于new出来的对象太多了,所以崩溃了

方案:(对于复杂的布局,尽量使用相对布局,节省内存空间,越复杂的布局,越要用相对布局)在开发的过程当中,如果能实现一模一样的需求,尽可能的使用相对布局

理由:相对布局比较灵活,用时少,用户体验好。。

在解析XML的时候,可能相对布局打印出来的时候,比线性布局打印出来的时间长,但是那个是假象 核心功能就是减少冗余的层次从而达到优化UI的目的!

五、外部jar:关于异常Dex Loader:Unable to execute dex: Multiple dex files的处理

在此之前向android项目中添加外部jar包的方法是: 1.将jar包复制到libs文件夹下 2.在eclipse中选中加入的jar包,右击add to build path 这样就可以在程序中使用引进的jar包了 今天引进了xutils的一个解析包,之后就出现了异常Dex Loader:Unable to execute dex: Multiple dex files define Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat$AccessibilityServiceInfoVersionImpl; 前面认为是版本不匹配的问题,版本升级之后也是出现错误,之后得到了

解决方法: 1.删除libs下要引入的jar包,并删除android dependence下的相应的jar包 2.右击android项目,build path->configure build path... 3.在libraries下选择add external jars 这样就成功的引入了外界包!

六、adb连接不上去

代码语言:javascript
复制
 [2015-03-18 23:43:43 - DeviceMonitor] Adb connection Error:远程主机强迫关闭了一个现有的连接。 

解决方案:①首先查看电脑进程,是否存在XXXadb.exe的进程,如果存在,则杀死进程,(建议:不要使用酷狗音乐播放器,可能会冲突)

②重新运行项目,连接你的设备,重新加载,

查看方式window-->show view-->other--->ddms,就可以查看你当前的设备

七、使用xutils工具进行网络解析报错

代码语言:javascript
复制
RetryHandler.retryRequest...   retry error,curr request is null

出现原因:因为没有添加网络标示头 例如:http:// www://等,而我在浏览器中不需要输入这些也可以访问,因为浏览器会自动帮我们补全这些网络标示头

解决方案:亲,一定要记得添加网络标示头哦!!!切记切记

八、调试过程中的安装错误(小米)

代码语言:javascript
复制
[2014-04-29 16:26:26 - 新闻] Installation error: INSTALL_CANCELED_BY_USER
[2014-04-29 16:26:26 - 新闻] Please check logcat output for more details.

[2014-04-29 16:26:26 - 新闻] Launch canceled! 

原因: 只会在小米手机上面才报这个错误,原因是因为当程序在启动的时候,手机处于锁屏状态

解决方案:只需要解锁你的手机即可

九、提示ActivityNotFound错误

代码语言:javascript
复制
03-20 08:19:23.593: E/AndroidRuntime(1498): FATAL EXCEPTION: main
03-20 08:19:23.593: E/AndroidRuntime(1498): android.content.ActivityNotFoundException: Unable to find explicit activity class {com.example.listviewfrashdemo1/com.imooc.listviewfrashdemo1.WebActivity};have you declared this activity in your AndroidManifest.xml?
03-20 08:19:23.593: E/AndroidRuntime(1498):  at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1541)
03-20 08:19:23.593: E/AndroidRuntime(1498):  at android.app.Instrumentation.execStartActivity(Instrumentation.java:1416)
03-20 08:19:23.593: E/AndroidRuntime(1498):  at android.app.Activity.startActivityForResult(Activity.java:3351)
03-20 08:19:23.593: E/AndroidRuntime(1498):  at android.app.Activity.startActivityForResult(Activity.java:3312)
03-20 08:19:23.593: E/AndroidRuntime(1498):  at android.app.Activity.startActivity(Activity.java:3522)
03-20 08:19:23.593: E/AndroidRuntime(1498):  at android.app.Activity.startActivity(Activity.java:3490)
03-20 08:19:23.593: E/AndroidRuntime(1498):  at com.imooc.listviewfrashdemo1.MainActivity$1.onItemClick(MainActivity.java:41)
03-20 08:19:23.593: E/AndroidRuntime(1498):  at android.widget.AdapterView.performItemClick(AdapterView.java:298)
03-20 08:19:23.593: E/AndroidRuntime(1498):  at android.widget.AbsListView.performItemClick(AbsListView.java:1086)
03-20 08:19:23.593: E/AndroidRuntime(1498):  at android.widget.AbsListView$PerformClick.run(AbsListView.java:2855)
03-20 08:19:23.593: E/AndroidRuntime(1498):  at android.widget.AbsListView$1.run(AbsListView.java:3529)
03-20 08:19:23.593: E/AndroidRuntime(1498):  at android.os.Handler.handleCallback(Handler.java:615)
03-20 08:19:23.593: E/AndroidRuntime(1498):  at android.os.Handler.dispatchMessage(Handler.java:92)
03-20 08:19:23.593: E/AndroidRuntime(1498):  at android.os.Looper.loop(Looper.java:137)
03-20 08:19:23.593: E/AndroidRuntime(1498):  at android.app.ActivityThread.main(ActivityThread.java:4745)
03-20 08:19:23.593: E/AndroidRuntime(1498):  at java.lang.reflect.Method.invokeNative(Native Method)
03-20 08:19:23.593: E/AndroidRuntime(1498):  at java.lang.reflect.Method.invoke(Method.java:511)
03-20 08:19:23.593: E/AndroidRuntime(1498):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
03-20 08:19:23.593: E/AndroidRuntime(1498):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
03-20 08:19:23.593: E/AndroidRuntime(1498):  at dalvik.system.NativeStart.main(Native Method)

原因:因为没有在manifest文件中配置好这个activity

解决方案:在manifest中添加上需要的activity清单即可

今天就到这了,下次再见

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-11-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 猿份到 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档