Android Settings 导入eclipse
1.加载源码
Android Project from Existing Code 选择源码工程Settings;
2.加载所需要的jar包
(改下名字)
out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes.jar
out/target/common/obj/JAVA_LIBRARIES/core_intermediates/classes.jar
out/target/common/obj/JAVA_LIBRARIES/android_stubs_current_intermediates/classes.jar
out/target/common/obj/JAVA_LIBRARIES/android-common_intermediates/classes.jar
out/target/common/obj/JAVA_LIBRARIES/frameworks-core-util-lib_intermediates/classes.jar
out/target/common/obj/JAVA_LIBRARIES/ext_intermediates/classes.jar
另外还要根据实际项目情况添加其他jar文件
guava-r07.jar 网上下载
android-support-v4.jar sdk中的。
把创建的libraries顺序放在最前面:
工程->Build Path->Configure Build path ->Order and Export 选择新建的jar,点击up键,把它升到最上面。
3.改动包名
选中一个包,按F2(下图,我选中了com.android.settings 改为了com.zheng.settings,子包自动改掉了)

然后AndroidManifest.xml会出莫名的错误(<service android:name=".bluetooth.DockService" />),用之前的覆盖掉。
AndroidManifest.xml 中添加 <uses-sdk android:minSdkVersion="14" />;
权限增加
<uses-permission android:name="android.permission.GET_ACCOUNTS"/>
<uses-permission android:name="android.permission.CONNECTIVITY_INTERNAL" />
然后将res中.xml文件中用到的也全改掉(com.android.settings
改为了com.zheng.settings)。
代码中com.android.settings.R; 改为import com.zheng.settings.R;,可以使用replace;
删掉所有import android.User.id;由此出现的问题,全改掉。
例程
参考:
http://www.cnblogs.com/lygshow/archive/2012/03/19/2406205.html
经过几番挣扎,还是把 android settings 源码成功导入 eclipse,在此分享!
在此之前,希望你做到以下几点,不然往下阅读只是在浪费时间。
<1> 操作系统使用 32 位的 ubuntu10.10,软件Eclipse3.5,ADT12.0,JDK1.6
<2> 下载 android2.3 源码,推荐 http://blog.csdn.net/AndroidBluetooth/article/details/6538254
<3> 编译源码,推荐 http://www.cnitblog.com/houcy/archive/2011/02/10/72771.html
如果做好以上工作,下面的就是小菜一叠。
1. 新建 android 项目
拷贝源码/packages/apps/Settings到你的其它目录。
在eclipse中,新建项目,但是要从exitting source选择:

2. 导入相关的库文件
希望你这样做,否则你会遇到其它莫名奇妙的错误。
eclipse中右键项目Settings/Build Path/Add Libray

选择User Libray,选择new ,任意去一个名称。
注意:一定要选择System libray前面的复选框。
点击ok之后,选择对应的jar包。

该 jar包就是源码目录/out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/下面的包。

注意这步操作:
eclipse中右键项目Settings/Build Path/Configure Build Path/,开始你会看到是下面这个样子:

然后,调整一下顺序如下:

3. 再次编译
在eclipse中clean,即可。
注意:你可以将 源码目录/out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes.jar 这个文件放到你的Settings项目中。
例如在Settings中新建目录libs,然后将classes.jar放到里面,然后,照着上面2的步骤重新做一次即可!
导入其它源码,有可能需要/out/target/common/obj/JAVA_LIBRARIES/android-common_intermediates/下面的jar文件。类似手法导入即可。
GoodLuck!
android2.3源码里单独导入单个系统应用模块的方法
对于从android的源码网上下载下源码的朋友,非常期待查看源码的具体结构或特定的应用的具体实现,下面就教大家如何把系统应用导入到eclipse里开发。
一: 开发前的准备工作:1.配置Linux环境和编译源码的一些工具,确保编译成功,启动模拟器检验。
2.把编译完的整个工程复制到windows系统特定目录里。
二: 以系统应用Settings为例:
导入过程:
1.创建android工程
系统的应用都在 源码/packages/apps/下
在eclipse里:(file->new android->create project from existing source.给工程命令,选择工程所在目录,选择build target)选择你需要的应用,选择特定SDK版本 :
2.加载所需要的jar包
因为单独拿出来的系统应用,缺少特定jar包的支持,需要创建libraries,把需要的jar加载进去即可。具体需要哪些jar包,可以再工程错误里查看少那些类或接口,借助Souce Insight工具,查找类或接口所在的位置,筛选路径 /out/target/.......
在eclipse创建libraries的过程:
1.进入project->property->java build path->libraries,选择Add library->user library->new,建立一个独立的库文件集,可命名为android-framework(名字无所谓)。
2.建立成功后选择android-framework,然后点Add jars,添加模块需要的jar包:
out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes.jar
out/target/common/obj/JAVA_LIBRARIES/core_intermediates/classes.jar
out/target/common/obj/JAVA_LIBRARIES/android_stubs_current_intermediates/classes.jar
out/target/common/obj/JAVA_LIBRARIES/android-common_intermediates/classes.jar
out/target/common/obj/JAVA_LIBRARIES/frameworks-core-util-lib_intermediates/classes.jar
out/target/common/obj/JAVA_LIBRARIES/ext_intermediates/classes.jar
3.另外还要根据实际项目情况添加其他jar文件
4.记得把创建的libraries顺序放在最前面。
工程->Build Path->Configure Build path ->Order and Export 选择新建的jar,点击up键,把它升到最上面。
3.修改包名
必须修改app项目中所有包的名字,如com.android.settings必须都改为com.lyg.settings(包名顺便起),因为这样才能避免最后生成的apk与系统默认的setting冲突。修改方法如下:
选择对应的包,如com.android.settings,按F2出现修改对话框,勾选全部选项,修改完成后点preview。
需要注意的地方:
1.修改工程名后,AndroidMainfese.xml修改不很成功,最好备份一份原来的 AndroidMainfest.xml文件
2.gen下面的资源包名已经变了,由于类里的资源文件还是以前的,所以再在资源文件这里把包名改回去,在改到你修改的名字例如你把包名 com.android.settings 修改成 com.lyg.settings
由于以前的资源文件是 com.android.settings.R 所以它没有变。而gen下的资源包名已经改变,先把它修改为com.android.setting,在改回到com.lyg.settings即可
4.其它操作
需要注释掉进程的访问权限,如果光有声明,而没有具体的实现该权限,apk是安装不上的,暂时注释掉,会有一些功能受到影响。解决办法需要数子签名,详见数字签名介绍。
<!-- android:sharedUserId="android.uid.system" -->
此时运行即可,对应没有权限的加上,出现别的简单的错误,自己上网查找解决。最后运行该工程,就可以修改和实现系统应用了。
说明:android的4.0源码和android的2.3的源码还是有区别的,用上面方法也是可以的,注意的是:android的2.3源码可以和eclipse的工作空间在同一个目录里,但android的4.0就不可,不然会报错: [2012-03-19 14:38:12 - Setting] AndroidManifest.xml file missing!
Android Settings 导入eclipse的更多相关文章
- Android studio导入Eclipse项目,和一些错误的解决
Android studio导入Eclipse开发的项目步骤如下 如果已经打开Android studio的话就选择你已打开的项目,关闭然后导入 开始导入 导入完成. 2.项目出错 Error:(13 ...
- Android Studio导入Eclipse项目的两种方法
Android Studio导入Eclipse项目有两种方法,一种是直接把Eclipse项目导入Android Studio,另一种是在Eclipse项目里面进行转换,然后再导入Android Stu ...
- Android Studio导入Eclipse项目和一些常见的问题
Android Studio版本 Eclipse项目工程:一个主工程,一个Emojicon依赖库. 有两种方式导入Eclipse工程: 1.兼容Eclipse 2.全新的Android Gradle ...
- Android studio导入eclipse项目且不改变目录结构
Android studio的安装与配置论坛当中已经有很多在此就不在细说了,现在开始说下如何在Android studio当中导入eclipse的项目且不改变其目录结构和配置,让使用eclipse的同 ...
- Android Studio导入Eclipse项目
随着Google 对新Android编辑器Android Studio(以下简称AS)的版本不断更新,越来越多的人开始由熟悉的编辑器Eclipse转向AS,而Eclipse开发团队也坦言将放弃对Ecl ...
- Android studio导入eclipse项目(亲测)
之前上网搜索的时候,网上都说先用eclipse导出gradle,之后再用Android Studio的import project导入,但是这个方法使用的过程中会出现许多错误,解决了一个又一个还是不得 ...
- Java,Android 项目导入Eclipse常见错误
一.导入的jar包不存在: 右键工程属性查看: 导入的第三方jar包不存在: 解决方法: 删除该jar包,得到该jar包并存至本地,再导入该jar包 二.中文字符乱码: 解决方法: 右键项目属性: 修 ...
- 图解Android Studio导入Eclipse项目源码
方法/步骤 打开Android Studio,在主页面中选择"File"->"New"->"Import project...&quo ...
- Android Studio 导入Eclipse工程
eclipse:workspace对应多个project:而android studio是project对应多个module:故,在android studio中的工程project实际上是eclip ...
随机推荐
- BZOJ3451: Tyvj1953 Normal
题解: 好神的一道题.蒟蒻只能膜拜题解. 考虑a对b的贡献,如果a是a-b路径上第一个删除的点,那么给b贡献1. 所以转化之后就是求sigma(1/dist(i,j)),orz!!! 如果不是分母的话 ...
- 【转】Effective-Objective-C-读书笔记-Item-4-如何正确定义常量 -- 不错
原文网址:http://tutuge.me/2015/03/11/Effective-Objective-C-%E8%AF%BB%E4%B9%A6%E7%AC%94%E8%AE%B0-Item-4-% ...
- windows系统下的文件夹链接功能mklink/linkd
vista及以上系统的mklink命令可以创建文件夹的链接(感觉像是文件夹的映射).因为是从底层实现文件夹链接,所以这个链接是对应用程序透明的. (windows 2000,xp,server 200 ...
- appium初探问题总结
自从搭建好环境后,运行一个appdemo各种奇葩问题层出不穷,过后可能觉得是挺简单的问题,但对于初次接触的人来说,有砸电脑的冲动也不为过·这里将自己所遇到的问题记录下来,备忘. 问题一:照着网上的教程 ...
- bzoj 2154 Crash的数字表格(莫比乌斯反演及优化)
Description 今天的数学课上,Crash小朋友学习了最小公倍数(Least Common Multiple).对于两个正整数a和b,LCM(a, b)表示能同时被a和b整除的最小正整数.例如 ...
- Bzoj 4556: [Tjoi2016&Heoi2016]字符串
4556: [Tjoi2016&Heoi2016]字符串 Time Limit: 20 Sec Memory Limit: 128 MBSubmit: 177 Solved: 92[Sub ...
- OpenCV2.3.1中tbb_debug.dll is missing的解决办法
方法1: 将\opencv\build\common\tbb\ia32目录下的tbb.dll复制改名为tbb_debug.dll 方法2: 若方法1失效,请将\openc ...
- ListView inside a ScrollView
ScrollView里面放ListView, ListView无法展开的解决方法 http://stackoverflow.com/questions/18367522/android-list-vi ...
- 转载Entity Framework 5.0(EF first)中的添加,删除,修改,查询,状态跟踪操作
转载原出处:http://www.cnblogs.com/kenshincui/p/3345586.html Entity Framework将概念模型中定义的实体和关系映射到数据源,利用实体框架可以 ...
- Altium Designer导出部分元件过滤不焊接的元件【worldsing笔记】
在Altium Designer画图过程中难免会多出单元电路,或是测试电路,特别是第一版时,有部分元件不用焊接 这时给采购.或是生产时有必要注明哪些元件不焊接,哪些元件不采购.有两种方法可以过滤: ...