android4.0浏览器在eclipse中编译的步骤
工程源码:
注意:
如果下载已经修过的源码,只要进行3、4、8步骤就应该可以了。 eclipse版本:adt-bundle-windows (Android Developer Tools Build: v21.0.0-519525)
1.从android4.0系统的代码中拷贝一份浏览器的代码,到本地文件夹,并重命名为BrowserEclipse: < android4.0源码>/package/apps/Browser --> <本地目录>/BrowserEclipse
2.在eclipse中导入工程BrowserEclipse。 菜单File-import,选择Android-Existing Android Code Into Workspace。 浏览文件夹,并选择工程的根目录:<本地目录>/BrowserEclipse。 去掉tests工程的勾选按钮,暂时不管tests工程。 重命名工程:选择工程,鼠标右键菜单-Refactor-Rename,输入BrowserEclipse。 此时,工程中会有很多错误,暂时不用理睬。

3.添加库文件。
从编译通过的android4.0源码的out目录中拷贝相应的文件到BrowserEclipse的systemlib路径下,文件如下: BrowserEclipse\systemlib\out\target\common\obj\JAVA_LIBRARIES\android-common_intermediates\classes.jar BrowserEclipse\systemlib\out\target\common\obj\JAVA_LIBRARIES\android-support-v13_intermediates\classes.jar BrowserEclipse\systemlib\out\target\common\obj\JAVA_LIBRARIES\android-support-v4_intermediates\classes.jar BrowserEclipse\systemlib\out\target\common\obj\JAVA_LIBRARIES\core_intermediates\classes.jar
BrowserEclipse\systemlib\out\target\common\obj\JAVA_LIBRARIES\framework_intermediates\classes.jar
在eclispe中刷新下工程,再选择工程,鼠标右键菜单-Build Path-Configure Build Path, 在Libraries页面中,选择Add Library-User Libraries-New,输入库名称systemlib,并勾选输入框下面的“System Library”。
回到User Libraries窗口,选择新建立的systemlib,点击按钮“Add JARs”,把systemlib\文件夹下面的五个classes.jar都添加进去。

一路OK按钮,回到Java Build Path界面,选择Order and Export页面,选择新建立systemlib,点击Top按钮,顶到第一位,OK。

4.设置Java Compiler版本为1.6。 再选择工程,鼠标右键菜单-Properties-Java Compiler,选择1.6
5.屏蔽一些代码。 经过第3步骤,回到eclipse编辑界面,刷新工程,此时大部分的错误已经解决,仅剩少数几个错误,把这些错误地方屏蔽掉,即可: 屏蔽EventLogTags相关的行: BrowserEclipse\src\com\android\browser\LogTag.java; 屏蔽VisibleForTesting相关的行: BrowserEclipse\src\com\android\browser\BrowserActivity.java BrowserEclipse\src\com\android\browser\provider\BrowserProvider2.java BrowserEclipse\src\com\android\browser\autocomplete\SuggestedTextController.java 此时,应该没有编译错误了。
6.增加一个java文件,避免运行时错误: BrowserEclipse\src\com\android\common\content\SyncStateContentProviderHelper.java 来自android4.0源码: frameworks\ex\common\java\com\android\common\content\SyncStateContentProviderHelper.java
7.修改BrowserEclipse\AndroidManifest.xml,增加<uses-sdk android:minSdkVersion="14"/> 修改BrowserEclipse\project.properties中的target属性值,设置为target=android-14
8.卸载系统应用Broser.apk,安装BrowserEclipse.apk。 这里需要先把机器root,才能进行,这个apk只能在android4.0的系统中运行正常,在4.1中不能运行。 先备份/system/app/Browser.apk和Browser.odex,拷贝到/sdcard即可。 删除/system/app/Browser.apk和Browser.odex,重启机器。 安装BrowserEclipse.apk,查看效果。
android4.0浏览器在eclipse中编译的步骤的更多相关文章
- 深入浅出-Android系统移植与平台开发(一)- Android4.0系统的下载与编译
作者:唐老师,华清远见嵌入式学院讲师. 一.Android4.0系统的下载与编译 Android系统的下载与编译,Google的官方网站上已经给出了详细的说明,请参照Android的官方网址: htt ...
- eclipse中编译时enum出现cannot be resolved to a type错误
eclipse中编译时enum出现cannot be resolved to a type错误 通常是因为eclise使用的jdk版本的问题...默认是使用的是jdk1.5 应该去选择成jdk1.6或 ...
- 在Eclipse中编译maven项目出的问题
在Eclipse中编译Maven项目,运行 jetty:run 指令的时候会出错,在 JRE选项卡中加入: -Dorg.mortbay.util.URI.charset=GBK-Xms512m -Xm ...
- eclipse中编译出现错误undefined reference to `_sbrk'
1. 在eclipse中使用gcc-arm-none-eabi-7-2017-q4-major-win32编译代码的时候出现了undefined reference to `_sbrk' e:/pro ...
- [置顶] 使用严苛模式打破Android4.0以上平台应用中UI主线程的“独断专行”
传送门 ☞ 轮子的专栏 ☞ 转载请注明 ☞ http://blog.csdn.net/leverage_1229 已经有好一段时间没有关注Android应用方面的事情了:)最近单位来了一个Androi ...
- @Override注解在Eclipse中编译报错
导入新工程后,发现默认用的jre是1.5版本的,在Eclipse中右击工程选择Build Path->点击Configure Build Path->Java Build Path-> ...
- Jogl2.0 jogamp-all-platforms 在eclipse 中的配置
我的电脑在win8 64位系统,搞了好久,网上的方法都快试了个遍,官网的试了,都不行,目前成功了,希望可以帮助其他同学. 1.首先去这里http://jogamp.org/deployment/jog ...
- CYUSB3014固件部分低版本工程在Eclipse中编译得到img文件时无效的解决方案
最近在做基于我们AC6102开发板的UVC图像视频方案,下载了官方的an75779应用工程,但是倒入到FX3—SDK自带的Eclipse中后,却无法编译生成img文件,经过比对后确认是生成该文件的命令 ...
- 在eclipse中编译调试ns3
1首先把ns3项目导入eclipse 然后把上面的的ns3按照上面的提示即可导入成功. 然后可以运行一下 ./waf configure 2 配置C/C++ Build 右键工程,选择属性 ...
随机推荐
- JavaScript实现级联下拉框
<!DOCTYPE html> <html> <head> <meta name="author" content="Yeeku ...
- Android 主题和选择器
今天在做底部tab的时候因为样式都一样 所以就自定义一个style 这样省的写很多重复的样式(懒懒懒懒), 修改的话直接在样式里修改省去一个一个修改一样的代码 1 在values/styles.xml ...
- [CareerCup] 12.3 Test Move Method in a Chess Game 测试象棋游戏中的移动方法
12.3 We have the following method used in a chess game: boolean canMoveTo( int x, int y). This metho ...
- iOS从App跳转至系统设置菜单各功能项的编写方法讲解
跳到系统设置里的WiFi界面 info里面设置: 在项目中的info.plist中添加 URL types 并设置一项URL Schemes为prefs,如下图 代码: 复制代码 代码如下: NSUR ...
- 秒杀9种排序算法(JavaScript版)
一:你必须知道的 1> JS原型 2> 排序中的有序区和无序区 3> 二叉树的基本知识 如果你不知道上面三个东西,还是去复习一下吧,否则,看下面的东西有点吃力. 二:封装丑陋的原型方 ...
- <实训|第二天>掌握linux6.7中安装vmware、vmware安装linux发行版本以及遇到的问题最后libreoffice的安装
期待已久的linux运维.oracle"培训班"终于开班了,我从已经开始长期四个半月的linux运维.oracle培训,每天白天我会好好学习,晚上回来我会努力更新教程,包括今天学到 ...
- Android开发新手第一要素
很多新手开发程序的时候,或者将原来跑在Android 2.X上的程序迁移到Android 3.x以上的时候经常会莫名其妙的出现崩溃(Crash).从我的经验来看,这里可能有很多原因,但是最重要也是最常 ...
- JS开发HTML5游戏《神奇的六边形》(四)
近期出现一款魔性的消除类HTML5游戏<神奇的六边形>,今天我们一起来看看如何通过开源免费的青瓷引擎(www.zuoyouxi.com)来实现这款游戏. (点击图片可进入游戏体验) 因内容 ...
- SVN快速入门(TSVN)
作者: 北京群英汇信息技术有限公司 网址: http://www.ossxp.com/ 版本: 0.1-35 日期: 2011-07-05 10:51:59 版权信息: 目录 1 安装Tortoi ...
- jquery基本方法
jquery的delay sleep 与js的setTime的区别. delay 和sleep推荐不要用,太难用了. click on live delegate bind http://www.jb ...