用eclipse调试android应用有自动提示错误、修正函数、提供import信息、单步调试等优点,而android下的浏览器browser为内置应用,导致默认情况下有许多找不到符号的错误。
通过以下步骤可以解决eclipse不能调试browser应用的问题。
1. eclipse下通过源代码方式导入Android项目Browser;
2. 菜单Project-->Properties-->Java Build Path-->Libraries-->Add Library...-->User Library-->User Libraries...-->New...添加新的System library.
此步骤务必勾选System library,在下未勾选此项,报错Java heap space,找了许久才找出此问题。。
3. 返回上一界面,选上新加的library
4. 菜单Project-->Properties-->Java Build Path-->Order and Export.
选上步骤2添加的library,并通过Up按钮移到列表最上面;
5. 菜单Project-->Properties-->Java Build Path-->Libraries-->选中添加的Library-->Edit-->User Libraries...-->Add JARS...添加out/target/common/obj/JAVA_LIBRARIES/framework_intermediates目录下classes.jar和out/target/common/obj/JAVA_LIBRARIES/android-common_intermediates/classes.jar;
做完这些会发现eclipse仍无法编译成功,提示:
EventLog.writeEvent(EventLogTags.BROWSER_BOOKMARK_ADDED, url + "|" + where);出错,EventlogTags类出错,该类同样在我们编译源码的out目录下:out/target/common/obj/APPS/Browser_intermediates/src/src/com/android/browser/EventLogTags.java
编译通过。。。
AV上的虚拟机貌似无法卸载系统程序,二话不说,直接拿起自己手机,system app remover,直接uninstall browser,安装,丫丫的,提示unexpected stop,
log:
02-09 16:10:46.444: E/AndroidRuntime(2262): Caused by: java.lang.ClassCastException: android.graphics.drawable.BitmapDrawable
02-09 16:10:46.444: E/AndroidRuntime(2262): at com.android.browser.TitleBar.setProgress(TitleBar.java:322)
找到((Animatable) mCircularProgress).stop();,((Animatable) mCircularProgress).start();,直接注释掉,重新编译安装,顺利运行~~~~
来源:oschina
链接:https://my.oschina.net/u/234555/blog/40194