博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android 源码编译sdk(用于android应用开发)
阅读量:7041 次
发布时间:2019-06-28

本文共 1226 字,大约阅读时间需要 4 分钟。

hot3.png

在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_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源码所在的文件名)

另:在android源码中,某些方法、成员、类或包被打上@hide标签,这些类、方法或成员在SDK中没有公开,故我们无法使用,如希望使用这些接口,可以把@hide去掉就可以了

转载于:https://my.oschina.net/u/589963/blog/152807

你可能感兴趣的文章
consui(二)集群配置
查看>>
Windows Cluster 常用命令
查看>>
AndroidStudio生成jar、so、aar以及上传远程库jcenter
查看>>
Redis 过期键的设置、获取和删除过期时间
查看>>
我的友情链接
查看>>
word,excel,网页上如何打x的n次方
查看>>
Cacti(系统监控)
查看>>
Ubuntu 12.04 修改/etc/resolv.conf重启后还原成修改前状态解决办法
查看>>
我的友情链接
查看>>
JavaSE 学习参考:访问修饰符
查看>>
concat的使用
查看>>
强制初始化Bean
查看>>
微信网页开发之创建Controller(三)
查看>>
SAP GUI里Screen Painter的工作原理
查看>>
TensorFlow官方文档解释关于TensorFlow的一些常见问题
查看>>
Python基础总结成千行代码,让Python入门更简单!
查看>>
【Postfix】利用postal进行Postfix的压力测试
查看>>
ubuntu12.04本地搭建ubuntu更新源
查看>>
如何让wp7真机调试时候保持屏幕高亮不锁屏
查看>>
elasticsearch best_fields most_fields cross_fields从内在实现看区别——本质就是前两者是以field为中心,后者是词条为中心...
查看>>