1. 这边以frameworks\base\services\java这个模块为例子,这个模块最终编译为services.jar, 首先codebase先完整的编译一遍
2. 将out/target/common/obj/JAVA_LIBRARIES/services_intermediates目录下的文件:
javalib.jar
classes.jar
放入vendor/xintong/$proj/artifacts/out/target/common/obj/JAVA_LIBRARIES/services_intermediates目录下(不存在这个目录则创建一个)
3. 将out/target/product/$proj/obj/JAVA_LIBRARIES/services_intermediates目录下的所有文件
放入vendor/xintong/$proj/artifacts/out/target/product/$proj/obj/JAVA_LIBRARIES/services_intermediates目录下(不存在这个目录则创建一个)
4. 将out/target/product/$proj/system/framework/目录下的文件:
services.jar
services.odex (如果有的话)
放入vendor/xintong/$proj/artifacts/out/target/product/$proj/system/framework/目录下(不存在这个目录则创建一个)
5. 将out/target/product/$proj/obj/NOTICE_FILE/src/system/framework/services.jar.txt
放入vendor/xintong/$proj/artifacts/out/target/product/$proj/obj/NOTICE_FILE/src/system/framework目录下(不存在这个目录则创建一个)
6. 删除frameworks\base\services\java目录
其中:
1. 第4、5步有可能不存在services.jar,services.jar.txt,这种状况下不用走第4、5步,一般编译为LOCAL_JAVA_LIBRARY的需要4、5步,编译为LOCAL_STATIC_JAVA_LIBRARY的不用走第4步
2. services替换为需要用jar包代替的LOCAL_MODULE名字
3. $proj为项目名称