Android Settings 导入eclipse

1.加载源码html

Android Project from Existing Code 选择源码工程Settings;java

2.加载所须要的jar包android

(改下名字)ubuntu

out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes.jarwindows

out/target/common/obj/JAVA_LIBRARIES/core_intermediates/classes.jarapp

out/target/common/obj/JAVA_LIBRARIES/android_stubs_current_intermediates/classes.jareclipse

out/target/common/obj/JAVA_LIBRARIES/android-common_intermediates/classes.jar工具

out/target/common/obj/JAVA_LIBRARIES/frameworks-core-util-lib_intermediates/classes.jarpost

out/target/common/obj/JAVA_LIBRARIES/ext_intermediates/classes.jar         ui

另外还要根据实际项目状况添加其余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;由此出现的问题,全改掉。

例程

guava-r07.jar

可执行代码

参考:

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
相关文章
相关标签/搜索