Eclipse中开发Android系统的内置应用
2011-12-05 17:06
513 查看
摘自:http://www.iteye.com/topic/1050439
Android系统内置有:Browser(浏览器)、Mms(彩信/短信)、Phone(电话)、Contacts(联系人)等众多的核心应用。
然而,在SDK开发环境(即Eclipse + ADT)下,这些应用却无法被正确编译,究其原因 至少有以下几种情况:
1、它们使用到了未包括在SDK中(公开发布)的API,有两种情况:
A、被@hide标注了的类:这些类是被隐藏起来的,这些类大多都在com.android.internal包下面;
B、一些未包括在SDK中的、Google私有的Api,它们大多都在com.google.android包下面;例如:
2、它们使用了一些由framework层声明的aidl接口访问系统服务,然而这些aidl在编译时才会转换成.java源码,因此在SDK环境下编译这些应用时无法访问到它们。
解决方法是:
(请注意:out目录 是在完整源码编译环境下(Linux下),执行一次完整编译后的输出目录)
1、找到那些被隐藏起来的类、它们在以下两个位置:
A、out\target\common\obj\JAVA_LIBRARIES\framework_intermediates/ classes.jar;
B、out\target\common\obj\JAVA_LIBRARIES\android-common_intermediates\classes.jar;
将找到的.jar文件,在Eclipse中作为User Library 添加到 Project 的Librarys依赖中,并将该库的顺序置于Android SDK Library之上。
在out\target\common\obj\JAVA_LIBRARIES\
目录下,还有很多其它具体应用相关的jar包,....;
2、找到那些缺失的、编译时才生成的,.java源文件,它们通常在以下位置:
A、out\target\common\obj\JAVA_LIBRARIES\XXX_intermediates\src 目录下,XXX是相关模块的名称;
B、out\target\common\obj\APPS\XXX_intermediates\src
目录下;
将找到的src目录,在Eclipse下,以Link Source的方式,连接到Project 中作为源码的一部分。
通过以上方法,我成功编译了Browser 和 Mms两个应用,其它应用还未验证,若你在开发中有相关经验或者发现,欢迎和我交流。
Android系统内置有:Browser(浏览器)、Mms(彩信/短信)、Phone(电话)、Contacts(联系人)等众多的核心应用。
然而,在SDK开发环境(即Eclipse + ADT)下,这些应用却无法被正确编译,究其原因 至少有以下几种情况:
1、它们使用到了未包括在SDK中(公开发布)的API,有两种情况:
A、被@hide标注了的类:这些类是被隐藏起来的,这些类大多都在com.android.internal包下面;
B、一些未包括在SDK中的、Google私有的Api,它们大多都在com.google.android包下面;例如:
2、它们使用了一些由framework层声明的aidl接口访问系统服务,然而这些aidl在编译时才会转换成.java源码,因此在SDK环境下编译这些应用时无法访问到它们。
解决方法是:
(请注意:out目录 是在完整源码编译环境下(Linux下),执行一次完整编译后的输出目录)
1、找到那些被隐藏起来的类、它们在以下两个位置:
A、out\target\common\obj\JAVA_LIBRARIES\framework_intermediates/ classes.jar;
B、out\target\common\obj\JAVA_LIBRARIES\android-common_intermediates\classes.jar;
将找到的.jar文件,在Eclipse中作为User Library 添加到 Project 的Librarys依赖中,并将该库的顺序置于Android SDK Library之上。
在out\target\common\obj\JAVA_LIBRARIES\
目录下,还有很多其它具体应用相关的jar包,....;
2、找到那些缺失的、编译时才生成的,.java源文件,它们通常在以下位置:
A、out\target\common\obj\JAVA_LIBRARIES\XXX_intermediates\src 目录下,XXX是相关模块的名称;
B、out\target\common\obj\APPS\XXX_intermediates\src
目录下;
将找到的src目录,在Eclipse下,以Link Source的方式,连接到Project 中作为源码的一部分。
通过以上方法,我成功编译了Browser 和 Mms两个应用,其它应用还未验证,若你在开发中有相关经验或者发现,欢迎和我交流。
相关文章推荐
- 在Eclipse中开发Android系统的内置应用(Mms, Contacts ect)
- 在Eclipse中开发Android系统的内置应用(Mms, Contacts ect)
- 在Eclipse中开发Android系统的内置应用(Mms, Contacts ect)
- 在Eclipse+ADT中开发Android系统的内置应用
- 在Eclipse+ADT中开发Android系统的内置应用
- Android系统应用导入Eclipse中开发
- 开发Android系统内置应用小记
- 实战 Eclipse ,Jigloo, PostgreSQL,JDBC 开发数据库查询应用系统起步
- Android开发之Intent跳转到系统应用中的拨号界面、联系人界面、短信界面
- android应用开发及系统有用代码片段总结
- CVTE Android应用开发工程师笔试题之二:为什么有时候查看别人的代码会乱码?Eclipse查看代码乱码该怎么办?
- Android 应用开发笔记 - Android的系统构架
- Windows系统下用Eclipse开发工具开发Android应用程序,在更新ADT后会出This version of ADT requires......
- Android 应用开发笔记 - Android的系统构架
- Android应用开发性能优化完全分析-转载大神总结的.非常全面系统
- Android开发之Intent跳转到系统应用中的拨号界面
- 第15章 Android启动过程 [Android应用开发与系统改造实战]
- Android开发之Intent跳转到系统应用中的拨号界面、联系人界面、短信界面 .相机.录影机....
- Android开发笔记之Intent跳转到系统应用中的拨号界面、联系人界面、短信界面
- Android开发之Intent跳转到系统应用中的拨号界面、联系人界面、短信界面