`
cnetwei
  • 浏览: 173539 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

在Eclipse+ADT中开发Android系统的内置应用

阅读更多

在Eclipse+ADT中开发Android系统的内置应用

 

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两个应用,其它应用还未验证,若你在开发中有相关经验或者发现,欢迎和我交流。

 

。。。。

分享到:
评论
2 楼 cnetwei 2011-05-30  
如果你有root权限,
那么日遏制应用也可以删除:
adb shell rm /system/app/AP_NAME.apk
1 楼 greatwqs 2011-05-23  
一般开发的Android应用都是在download里面,在应用管理都可以删除.而内置应用却不可见(不能删除) , 这方面的资料还真的少 . 支持楼主!!

相关推荐

    Windows下Eclipse离线安装ADT方法

    Android开发, 很多的都不能安装ADT, 如果不能安装, 建议考虑使用这里的方法, 经过在虚拟机测试, Win7和XP经过这个安装方法都能正常使用, 内置了Android2.1, 2.3.3, 4.0.3的开发平台!

    Android移动应用开发实验指导书.docx

    (2)布局文件 创建布局文件 加载布局文件 (3)在清单文件中注册活动 (4)以上方法完成多个活动的创建 Android移动应用开发实验指导书全文共13页,当前为第3页。(5)使用Intent完成多个活动之间的交互和数据传递...

    Android开发案例驱动教程 配套代码

    17.2.1 Android内置的发送短信/彩信功能 450 17.2.2 自己编写发送文本内容的短信 452 17.2.3 自己编写接收文本内容的短信 458 17.2.4 自己编写发送二进制内容的短信 459 17.2.5 自己编写接收二进制内容的短信 ...

    新版Android开发教程.rar

    的 Android SDK 提供了在 Android 平台上使用 JaVa 语言进行 Android 应用开发必须的工具和 API 接口。 特性 • 应用程序框架 支持组件的重用与替换 • Dalvik Dalvik Dalvik Dalvik 虚拟机 专为移动设备优化 • ...

    Android移动应用开发实验指导书.docx.docx

    (2)布局文件 创建布局文件 加载布局文件 (3)在清单文件中注册活动 (4)以上方法完成多个活动的创建 Android移动应用开发实验指导书全文共13页,当前为第3页。(5)使用Intent完成多个活动之间的交互和数据传递...

    Google Android SDK开发范例大全(第3版) 1/5

    分别来自手机制造业、电视媒体业、网络、电信产业、软件开发等领域,擅长嵌入式系统软件设计、J2ME游戏开发、Android开发,以及12EE、JSP、Servlet、Java Bean、PHP、C#等程序语言,熟悉面向对象技术与Eclipse、...

    Google Android SDK开发范例大全(第3版) 4/5

    分别来自手机制造业、电视媒体业、网络、电信产业、软件开发等领域,擅长嵌入式系统软件设计、J2ME游戏开发、Android开发,以及12EE、JSP、Servlet、Java Bean、PHP、C#等程序语言,熟悉面向对象技术与Eclipse、...

    Google Android SDK开发范例大全(第3版) 3/5

    分别来自手机制造业、电视媒体业、网络、电信产业、软件开发等领域,擅长嵌入式系统软件设计、J2ME游戏开发、Android开发,以及12EE、JSP、Servlet、Java Bean、PHP、C#等程序语言,熟悉面向对象技术与Eclipse、...

    Google Android SDK开发范例大全(第3版) 5/5

    分别来自手机制造业、电视媒体业、网络、电信产业、软件开发等领域,擅长嵌入式系统软件设计、J2ME游戏开发、Android开发,以及12EE、JSP、Servlet、Java Bean、PHP、C#等程序语言,熟悉面向对象技术与Eclipse、...

    精通ANDROID 3(中文版)1/2

    4.1 探索Android内置的ContentProvider  4.2 ContentProvider的架构  4.3 实现ContentProvider  4.4 练习图书提供程序  4.4.1 添加图书  4.4.2 删除图书  4.4.3 获取图书数量  4.4.4 显示图书列表  ...

    精通Android 3 (中文版)2/2

    4.1 探索Android内置的ContentProvider  4.2 ContentProvider的架构  4.3 实现ContentProvider  4.4 练习图书提供程序  4.4.1 添加图书  4.4.2 删除图书  4.4.3 获取图书数量  4.4.4 显示图书列表  ...

    NewFlaxMobile:http

    为了设置 Android 开发环境,开发人员需要下载 ADT Bundle,其中包括基本的 Android SDK 组件和带有内置 ADT(Android 开发人员工具)的 Eclipse IDE 版本。 下载 URL 和更多信息可以在这里看到: : 导入 FLAX And...

    Android-CU:CU是清除未使用的缩写,本项目主要用于清理Android工程中无用的代码文件和资源文件

    CU是清除未使用的缩写,本项目主要用于清理Android工程中无用的代码文件和资源文件。 CURes.java清理资源文件,内置ADT SDK自带的Lint工具,相对路径为\ sdk \ tools \ lint.bat。 CUSrc.java用于清理.java文件,...

Global site tag (gtag.js) - Google Analytics