当刚接触android自带的一个模块时,如何去熟悉它?相信不少人第一步都会尝试着去了解其内容的调用流程,而此时若能够单步调试则显得非常重要了,于是有了文章标题所说的尝试。

作者这里要导入的是Settings文件夹,基于android 4.0(MTK6515所用):

1、将Settings整个文件夹拷贝一份备用

2、基于Settings建立一个eclipse工程

打开eclipse,File > New > Project > Android Project > Create project from existing source,选择第1步所拷贝的Settings文件夹。

3、导入部分framework library

执行完第2步会出现很多诸如"com.android.internal.R cannot be resolved"的错误,这主要是由于framework部分资源找不到,这时我们可以手动添加,当然前提是你要用整个工程的代码且已经编译。

在eclipse中右键工程名Settings,选择 Build Path > Configure Build Path > Libraries > Add External JARS,然后选择以下路径的jars:

1)out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes.jar

--这个主要是android的框架类

2)out/target/common/obj/JAVA_LIBRARIES/android-common_intermediates/classes.jar

--这个包含com.android.common.Search这个类

3)out/target/common/obj/JAVA_LIBRARIES/core_intermediates/classes.jar

--这个包包含dalvik.system.VMRuntime这个类

4)out/target/common/obj/JAVA_LIBRARIES/mediatek-framework_intermediates/classes.jar

--这个主要是mediatek的框架类

这样基本上就能解决大部分framework资源找不到的问题

  • ps 这里也可将上述classes.jar重命名后复制到某一文件夹后统一导入

4、导入app自身

如这里导入:

out/target/common/obj/APPS/Settings_intermediates/classes.jar

5、去除uid

打开 AndroidManifest.xml,找到 android:sharedUserId并去除之:

android:sharedUserId="android.uid.system"

否则在运行时会提示如下错误:

INSTALL_FAILED_SHARED_USER_INCOMPATIBLE

参考资料:

from:http://www.hovercool.com/en/%E5%B0%86packages/apps/%E4%B8%8B%E7%9A%84app%E5%AF%BC%E5%85%A5eclipse#a_1.E3.80.81.E5.B0.86Settings.E6.95.B4.E4.B8.AA.E6.96.87.E4.BB.B6.E5.A4.B9.E6.8B.B7.E8.B4.9D.E4.B8.80.E4.BB.BD.E5.A4.87.E7.94.A8

http://blog.csdn.net/chenzhixin/article/details/6264209

将packages/apps/下的app导入eclipse的更多相关文章

  1. Android Settings 导入eclipse

    1.加载源码 Android Project from Existing Code 选择源码工程Settings: 2.加载所需要的jar包 (改下名字) out/target/common/obj/ ...

  2. 将struts源码导入eclipse

    预制条件和spring源码导入eclipse中一样,下面直接给出导入eclipse的步骤. 步骤: 1. 下载struts相应版本的源码 http://struts.apache.org/downlo ...

  3. MyEclipse web项目导入Eclipse,详细说明

    最近导入一个MyEclipse的项目,具体是:spring4.1的web项目,同时遇到了一些问题,总结一下. 1.进入项目目录,找到.project文件,打开.增加一个<buildCommand ...

  4. Android Studio 2.2.2导入Eclipse中创建的项目

    最近随视频教程学习Android,原本都是用Adt写Android程序,中途教程换成了Android Studio,于是我自己下了android studio 2.2.2安装好,并下载好sdk,也跟着 ...

  5. Android Studio导入Eclipse项目和一些常见的问题

    Android Studio版本 Eclipse项目工程:一个主工程,一个Emojicon依赖库. 有两种方式导入Eclipse工程: 1.兼容Eclipse 2.全新的Android Gradle ...

  6. Android 源代码自动编译packages/apps

    /*************************************************************************** * Android 源代码自动编译packag ...

  7. [置顶] 我的Android进阶之旅------>如何将Android源码导入Eclipse中来查看(非常实用)

    Android源码下载完成的目录结构如如所示: step1:将.classpath文件拷贝到源代码的根目录 Android源码支持多种IDE,如果是针对APP层做开发的话,建议大家使用Eclipse开 ...

  8. Tomcat8源码编译及导入Eclipse中研究

    最近因为需求需要修改Tomcat中的某些功能,无奈只能研究那部分源码然后稍作修改. 目前Tomcat最新版是8.0,下载了源码包,编译并导入Eclipse中研究比较方便. 1. Tomcat8源码编译 ...

  9. 导入eclipse工程到Android Studio中

    ref:从 Eclipse 迁移至 Android Studio | Android Studiohttps://developer.android.com/studio/intro/migrate. ...

随机推荐

  1. iOS-字符属性NSAttributedString描述

    /* 字符属性 字符属性可以应用于 attributed string 的文本中. NSString *const NSFontAttributeName;(字体) NSString *const N ...

  2. Android中TextView添加删除线

    项目中的需求~~~~ 商城中物品的一个本身价格,还有一个就是优惠价格...需要用到一个删除线. public class TestActivity extends Activity { private ...

  3. [译] MYSQL索引最佳实践

    近日整理文档时发现多年前的这个文档还是蛮实用的,然后在网络搜索了一下并没有相关的译文,所以决定把它翻译过来,如有不当的地方请多包涵和指正.原文地址:https://www.percona.com/fi ...

  4. db2+python+sqlchemy环境的搭建

    记录了通过sqlalchemy 管理db2数据库的环境搭建 1.db2数据库安装配置 利用winscp复制iso文件到/mnt/IBM_db2 目录下 IBM_db2为自己创建 重命名 mv IBM\ ...

  5. equals()和hashCode()之间的关系

    在Java的基类java.lang.Object中有两个非常重要的方法: public boolean equals(Object obj) public int hashCode() 对这两个方法的 ...

  6. Consul 服务发现和配置

    Service discovery and configuration made easy. Distributed, highly available, and datacenter-aware. ...

  7. mac 安装 php nginx mysql

    mac下面安装php nginx mysql根linux下面差不多,建议大家使用brew管理工具包安装. 1,安装homebrew http://brew.sh/index_zh-cn.html 安装 ...

  8. Oracle not in子连接查询不到值的问题(not in 不能查询null数据)

    前几天在项目中,做数据导入时,发现not in和in 查出来的条数不互补.ATABLE2明明中有些记录在ATABLE3中不存在,但是not in时查不出记录. CREATE TABLE ATABLE2 ...

  9. NuGet及快速安装使用

    关于NuGet园子里已经有不少介绍及使用经验,本文仅作为自己研究学习NuGet一个记录. 初次认识NuGet是在去年把项目升级为MVC3的时候,当时看到工具菜单多一项Library Package M ...

  10. 金士顿U盘,群联PS2251-60主控,量产还原教程

    还原成一个可移动磁盘教程,只是在"分区设置"中将 "模式=21" 改为 "模式=3" 即可. 1. 打开:"MPALL_F1_90 ...