Android系统定制功能开发时,常常需要修改framework接口,然后提供给app使用,app可以使用反射调用 ,但反射效率比较低,可以直接把framework的jar放在app里面,让app直接调用。
1.找到真正的framework的jar包
framework添加接口后,不是在mmm编译出来的
out/target/product/hammerhead/system/framework/framework.jar
用上面的jar包app是引用不到的,需要使用静态jar包
步骤:make -j16编译完成后,找到jar包:
out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes_full_debug.jar或是classes.jar
然后重命名为framework.jar放在app的libs下面
2.导入jar包
工程右键Open Module Settings,在Dependencies添加jar dependecy,找到framework.jar,注意Scope要从默认的Compile改成Provided,这样让app编译时绕过此jar包,运行时从系统找该jar包,不然编译会报错。
然后在右边把该jar包优先级往上+,能加多少是多少
3.调整优先级