http://wenku.baidu.com/view/8144fa1314791711cc79175e.html

在Android源码编译成功的基础上重新编译带自己API的android.jar需要进行以下几步操作。

1 添加自己源代码,在Android源码frameworks/base目录下新建一个文件夹保存代码,如tv,以包的形式命名添加的文件所在的路径,如/tv/java/android/tv,添加的java文件开头定义的包即是编译成功的class文件所在的包。

2 修改makefile文件

2.1 修改build/core/pathmap.mk文件

在FRAMEWORKS_BASE_ SUBDIRS变量后添加tv\,代码如下(makefile文件中的语句以Tab键空格开头)

FRAMEWORKS_BASE_SUBDIRS := \

                   $(addsuffix /java, \

                       core \

                       graphics \

                       location \

                       media \

                       opengl \

                       sax \

                       telephony \

                       wifi \

                        \

                       keystore \

                       tv \

                    )

2.2修改frameworks/base/Android.mk 文件

在packages_to_document变量后添加自己源代码的包名称,如android/tv,结果如下(makefile文件中的语句以Tab键空格开头)

packages_to_document := \

                     android \

             javax/microedition/khronos      android/tv

3 在ubuntu命令行终端使用如下命令进行编译:

make clean

make update-api

make PRODUCT-sdk-sdk

最后一行也可以用如下两个命令代替:

make –j4 

make sdk

4 编译结果

4.1 android.jar文件所在的目录为

/out/target/common/obj/PACKAGING/android_jar_intermediates/android.jar并在/out/target/common/obj/JAVA_LIBRARIES/android_stubs_current_intermediates/src目录下重新以package形式组织所有生成到android.jar中的源代码。

  4.2 SDK所在目录为

out/host/linux-x86/sdk/,生成的sdk文件目录和压缩包为:

android-sdk_eng.xxx_linux-x86

android-sdk_eng.xxx_linux-x86.zip(xxx为自己android源码所在的文件名)

 

[[Category:Frameworks]]

 

 

 


更多相关文章

  1. Android 资源文件夹下的文件不能有大写字符,会导致R.java无法生成
  2. android安卓源码海量项目合集打包-1
  3. android的文件系统结构简单介绍
  4. Android应用程序创建Surface过程源码分析
  5. Android NFS 文件系统
  6. Android短信功能实现源码
  7. FFmpeg+OpenSL+OpenGL+Mediacodec 的视频播放SDK源码和实例APP

随机推荐

  1. Bitmap在内存中加载
  2. Animation Resources
  3. Android: 查找USB设备
  4. 【Android】logcat日志信息过滤
  5. SQLiteOpenHelper&SharedPreferences练习
  6. Android(安卓)Exception 记录合集
  7. Android(安卓)判断APP是否在前台
  8. Android(安卓)get target app display na
  9. AMLogic Releases AML8726-MX Linux 3.0.
  10. Android(安卓)EditText用户友好的输入界