`
liuyun025
  • 浏览: 123988 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

(转)将 \packages\apps 下的 android 源码导入Eclipse编译的方法

阅读更多

学习android的源码,比如Browser(浏览器)、Mms(彩信/短信)、Phone(电话)、Contacts(联系人)在eclipse里可能会有错误,原因可能有下边几个:

 

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 中作为源码的一部分。

 

转自:http://www.iteye.com/topic/1050439

 

分享到:
评论

相关推荐

    android 4.4 源码 eclipse 浏览

    本篇将详细探讨如何使用Eclipse来浏览和分析Android 4.4的源码。 首先,要准备Eclipse IDE,这是Android开发者常用的集成开发环境。为了浏览源码,我们需要安装ADT(Android Developer Tools)插件,它包含了源码...

    Android4.4Eclipse关联源码

    将Android 4.4源码与Eclipse关联,意味着开发者可以直接在IDE中浏览、搜索和修改源码,这极大地提高了开发效率和学习过程中的直观性。 要将Android源码关联到Eclipse,你需要完成以下步骤: 1. 下载并安装ADT...

    Eclipse下编译Android自带联系人应用

    3. 在Eclipse中,选择“File” -> “Import” -> “Existing Android Code into Workspace”,然后导航到你克隆的AOSP源码目录下的`packages/apps/Contacts`,这是联系人应用的源码位置。 **编译过程** 1. 在...

    如何导入一个android源码并且运行

    本文将详细介绍如何在Eclipse环境下导入Android源码并成功运行。 首先,确保你已经安装了Eclipse IDE以及Android Developer Tools(ADT)插件,这是Android开发的基础工具。ADT提供了对Android项目的特殊支持,包括...

    Android源码编译流程借鉴.pdf

    对于部分源码的快速编译,`mm`指令则非常实用,例如在`packages/apps/AlarmClock`目录下执行`mm`,将仅编译该应用的源码。 在Eclipse开发环境中,Android源码编译后的调试工作也非常重要。Eclipse提供了几个关键...

    Android源码编译流程.pdf

    3. `mmm`:编译指定目录下的源码,例如`mmm packages/apps/AlarmClock`将编译AlarmClock应用。 4. `mm`:编译当前目录下的源码,适用于快速迭代和调试。 四、Eclipse与调试工具 在Eclipse环境中,有四个关键视图对...

    将Android原生的Phone程序通过eclipse跑在模拟器上

    1. **复制Phone源码**:将`/packages/apps/Phone`目录下的代码拷贝到`~/workspace/Phone`。 2. **创建Eclipse项目**: - 在Eclipse中依次点击`New -> Project.. -> Android Project`。 - 选择`from existing code`...

    android源码v2.3

    2. **编译环境**:为了编译Android源码,开发者需要设置一个完整的AOSP(Android Open Source Project)开发环境,包括安装必要的依赖、配置环境变量,并使用repo工具来管理源码仓库。 3. **Java源文件**:描述中...

    android sources

    8. **Apps**:预装的应用程序,如设置、电话、联系人等,位于 `packages/apps` 下,这对于了解系统级应用的实现非常有帮助。 9. **测试用例**:源码中包含了大量测试用例,位于 `tests` 目录,有助于验证功能的正确...

    Launcher源码初探

    - `git clone git://android.git.kernel.org/platform/packages/apps/Launcher.git` - `cd Launcher` - `git branch` - `git checkout <branch_name> -b <your_branch_name>` - `git pull` 2. **源码编译与...

    Settings_CM_eclipse:系统源码Settings6.0配置ANT脚本Eclipse上编译

    导入设置到Eclipse 设置路径:cm13.0 / repo / packages / apps / Settings 一,通过Android.mk文件查找依赖库 LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) LOCAL_JAVA_LIBRARIES := bouncycastle conscrypt...

    高焕堂<应用框架原理与程序设计>源代码(Eclipse)

    Windows下编译.so文件步骤(这里我使用NDK(android-ndk-1.6_r1)加Cygwin 在windows下编译,如果没有请安装, 注:android-ndk-1.6_r1只支持android 1.6或更早版本,所以这里必须将你的android工程的Target设为1.6): ...

    安卓(与驱动)之 app获取系统级权限1

    3. 使用源码编译:由于普通开发环境无法赋予应用系统权限,因此需要将APP的源代码放入Android源码树的`packages/apps/`目录下,并创建一个`Android.mk`文件,配置编译参数。例如,使用`LOCAL_CERTIFICATE := ...

Global site tag (gtag.js) - Google Analytics