在android中增加公用资源包(类似framework-res.apk)

来源:互联网 发布:博客优化站 编辑:程序博客网 时间:2024/06/06 08:38

假设你的资源包叫my-framework-res.apk

请修改build/core/clear_var.mk,增加一个变量,类似LOCAL_USE_MY_FRAMEWORK_RES:=true,默认为true.

修改你的资源包的build脚本,设置LOCAL_USE_MY_FRAMEWORK_RES为false

请修改你的build/core/package.mk,在LOCAL_SDK_RES_VERSION中的合适位置增加


ifeq ($(LOCAL_USE_MY_FRAMEWORK_RES),true)my_framework_res_package_export := \        $(call intermediates-dir-for,APPS,my-framework-res,,COMMON)/package-export.apkmy_framework_res_package_export_deps := \        $(dir $(my_framework_res_package_export))src/R.stampelsemy_framework_res_package_export := my_framework_res_package_export_deps := endif # LOCAL_USE_MY_FRAMEWORK_RES


然后在随后的$(R_file_stamp)中增加my_framework_res_package_export_deps,在PRIVATE_AAPT_INCLUDES中增加my_framework_res_package_export。


然后修改build/target/product/core.mk,在PRODUCT_PACKAGES增加my-framework-res


好,大功告成。


最后修改framework/base/core/java/android/content/res/AssetManager.java,在init()函数中增加

addAssertPath("/path/to/my-framework-res.apk");




原创粉丝点击