怎么将android单个模块源代码导入到eclipse里编译


具体来说,有两种方式。

第一种:
在你创建android project 的时候在选择
Create project from existing source 按后选
Browse 在你的电脑里面找到要引入的代码。

第二种:
可以建立一个Applocation name
Package name
Create Activity
还有 android版本相同的项目
建立以后,点右键选择Import 再选File System
找到要引入的项目,把里面的东西都引入进来就可以了。

学习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 ;(改下jar包名称)

B、out\target\common\obj\JAVA_LIBRARIES\core_intermediates/classes.jar;--改下jar包名称

C、out\target\common\obj\JAVA_LIBRARIES\android-common_intermediates\ classes.jar ;--改下jar包名称

D、out\target\common\obj\JAVA_LIBRARIES\guava_intermediates/*.jar;--这是谷歌的jar包,该文件夹下的所有jar包

将找到的.jar文件,在Eclipse中作为User Library 添加到 Project 的Librarys依赖中,按照上面所取下的jar包顺序,且将该库的顺序置于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 中作为源码的一部分。


完成上面步骤后,虽可能编译通过,只是系统的源码直接放进去会运行不了的,这时要给编译的某个源码加上签名,如下有步骤说明:

给apk签名

签名方法:
loop  android签名机制(2)——如何签名
1>添加权限
    在AndroidManifest.xml文件下添加android:sharedUserId="android.uid.system" 。
2>在Eclipse中导出无签名的应用文件
   在工程中:右键->Android Tools -> Export Unsigned Application Package导出应用
3>找出系统签名密钥
   系统密钥为: platform.pk8和platform.x509.pem
   路径: build\target\product\security
4>找出系统签名工具 
   工具为:signApk.jar
   路径:/out/host/linux-x86/framework/ signApk.jar
 
5>开始签名
  将第2、3、4步找到的无签名应用、platform.pk8、platform.x509.pem和signApk.jar放到同一文件夹下如F:\sign。
  打开 dos 操作界面,定们到F:\sign,输入命令:
  java -jar  signapk.jar  platform.x509.pem  platform.pk8 **.apk   ***.apk
(**.apk 为未签名应用  ***.apk 为签名之后应用)
 注:之前在评论里有错误的说过这个签名工具是通用的,这里纠正下。编译导出的apk,要安装到那个版本的系统,就去那源码里找对应的签名工具,并不是各个版本通用

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页