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 右键工程,选择属性 ...
随机推荐
- python将文件写成csv文件保存到本地
举个例子: import csv import os path='/tmp/' file='test.csv' def generate_csv(path,file): if not os.path. ...
- ios--Attributes和ParagraphStyle介绍
NSMutableParagraphStyle的部分属性: typedef NS_ENUM(NSInteger, NSLineBreakMode) {/* What to do with long l ...
- css继承性和不继承的属性。
在CSS中并不是所有的属性都是能够继承的,因此在使用时一定要了解哪些是能够继承的哪些是不能够继承的.visibility和cursor能够被所有元素继承:letter-spacing,word-spa ...
- action中result没有值
action中result没有值,访问action会输出action中的所有数据,输出类型为.action类型 .
- Android 判断现在系统存储器是“手机存储”还是“SD存储”
import android.os.storage.StorageManager; String fileDir = null; StorageManager storageMa ...
- Photoshop Cc高级设计师培训视频教程(共109节课程)
Photoshop Cc高级设计师培训视频教程(共109节课程) 专业培训Photoshop技能,其他网站收费内容,这里收集了,免费分享给你们哦~ 以下为部分截图: 下载地址: http://fu83 ...
- Navicat for mysql 显示中文乱码问题
使用navicat for mysql 打开数据库时,使用Console插入和查询数据显示乱码 处理过程 1.查看数据库编码为" utf8 -- UTF-8 Unicode",也就 ...
- 【JVM】模板解释器--字节码的resolve过程
1.背景 上文探讨了:[JVM]模板解释器--如何根据字节码生成汇编码? 本篇,我们来关注下字节码的resolve过程. 2.问题及准备工作 上文虽然探讨了字节码到汇编码的过程,但是: mov %ra ...
- [转] Sublime Text 3支持GB2312和GBK编码
Sublime Text 3与Sublime Text 2的不同 其实有不少人写过如何让Sublime Text 2支持GB2312和GBK编码,例如这篇.基本原理就是先装好Package Contr ...
- 手把手教你Linux服务器集群部署.net网站 - Linux系统安装和设置
在开源软件已成趋势化的今天,微软这‘老古董’也开始向开源方向发力,这对我们.NET开发者是极大的喜讯.而在开源软件中, Linux就是其中一个优秀的代表,几乎各行业和计算机有关的都有它的身影,其中一点 ...