将自定义的jar包添加到framework层(解决)

原java类文件放到framework下面,通过源码编译生成系统jar包:

项目中,客户要求将jar添加到framework.jar里,以便所有的apk都可以调用这个jar。这个jar包里面调用了AIDL里的方法,源码里有项目是AIDL的服务端,冰拳引用了framework.jar,则会因为包名类名相同导致出现混淆错误。下面是我自己总结各方资料来解决问题,仅供参考:

1.简单的弄一个架包加入到framework.jar里面去

在frameworks\base下新建xxx目录,下面的目录结构如下,不需要加Android.mk文件,但必须要有一个java的目录:

└─xxx
      └─java
            └─com
                 └─android
                       └─frameworkunit
                                 └─ FrameworkTest.java

然后在build/core/pathmap.mk文件中添加你自己创建的目录

FRAMEWORKS_BASE_SUBDIRS := \

 $(addsuffix /java, \

core \

            graphics \

            location \

            media \

            media/mca/effect \

            media/mca/filterfw \

            media/mca/filterpacks \

.

.

xxx \

)

然后通过mmm命令编译这个新添加的模块了:

mmm framework/base编译,生成文件为out/target/product/generic/system/framework/framework.jar

编译通过后就可以做接下来的事情了

这样便实现APK从framework.jar中调用自定义的方法了

 

借鉴:

http://www.360doc.com/content/14/0308/22/3700464_358895265.shtml

你可能感兴趣的:(AIDL,android源码)