在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 \
vpn \
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_interme diates/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源码所在的文件名)
在android源码编译成功的基础上重新编译带自己API的android.jar需要进行以下几步操作:
*添加自己源代码 在Android源码frameworks/base目录下新建一个文件夹保存代码,
如tv,以包的形式命名添加的文件所在的路径, 如/tv/java/android/tv,
添加的java文件开头定义的包即是编译成功的class文件所在的包。
*修改makefile文件
1.修改build/core/pathmap.mk文件
在FRAMEWORKS_ BASE_ SUBDIRS变量后添加tv\,代码如下
(同样,mk文件以Tab键空格开头)
FRAMEWORKS_BASE_SUBDIRS := \ $(addsuffix /java, \
core \
graphics \
location \
media \
opengl \
sax \
elephony \
wifi \
vpn \
keystore \
'''tv \''' )
2.修改frameworks/base/Android.mk 文件
在packages_to_ document变量后添加自己源代码的包名称,
如android/tv,结果如下(mk文件以Tab键空格开头)
packages_to_document := \ android \
javax/microedition/khronos '''android/tv''' *在ubuntu命令行终端使用如下命令进行编译: make clean
make update-api make PRODUCT-sdk-sdk
最后一行也可以用如下两个命令代替: make –j4 make sdk *编译结果
1.android.jar文件所在的目录为
/out/target/common/obj/PACKAGING/android_jar_intermediates/android.jar
并在/out/target/common/obj/JAVA_LIBRARIES/android_stubs_current_interme diates/src
目录下重新以package形式组织所有生成到android.jar中的源代码。
2.sdk所在目录为 out/host/linux-x86/sdk/,生成的sdk文件目录和压缩包为:
android-sdk_eng.xxx_linux-x86
android-sdk_eng.xxx_linux-x86.zip(xxx为自己android源码所在的根目录文件名
/或者///
拿我的sdk举例找到你所用版本的sdk的主目 录:如\android-sdk-linux86\platforms\android-2.1\,
在文件夹下面有个android.jar的jar包, 这个包里就包含了sdk为我们提供的所有jar文件,
你打开后发现下面有我们常见的android,com等文件夹对应的里面包含的就是我们通常引用的
android.XXXX.class com.XXXX.XXXX.class,如果你想在你的sdk中添加你自己的class包,
只需将你自己的jar包添加进去就好,具体方法: (ubuntu下)双击android.jar
进入你要放置文件的文件夹,单击向归档文件中添加文件按钮,然后选择你的class文件,
这时你就可以在你的文件中import 你自己的东西了!大功告成