我正在尝试在框架/ opt / mypackage下将我的自定义包添加到AOSP.
我提供了一个Android.mk Makefile,其中包含以下内容:
LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_SRC_fileS := $(call all-java-files-under, src)LOCAL_MODulE_Tags := optionalLOCAL_MODulE := mypackageinclude $(BUILD_JAVA_liBRARY)
在另一个框架中,我出去使用这个包.例如,在电话包中.
但不幸的是,电话框架无法使用我的软件包.我将我的软件包添加到电话的AndroID.mk中的LOCAL_JAVA_liBRARIES变量,但是当代码执行时,它给了我01-11 16:51:01.835:E / AndroIDRuntime(1789):java.lang.NoClassDefFoundError:使用引导找不到类类加载器;没有堆栈可用
我错过了什么?
编辑:在我的Makefile中设置包括$(BUILD_STATIC_JAVA_liBRARY)而不是包含$(BUILD_JAVA_liBRARY),并将我的包添加到框架的LOCAL_STATIC_JAVA_liBRARIES效果很好.然而:问题是为什么它不适用于非静态库.
解决方法:
这是因为您需要本地库的权限文件.
跟着这些步骤:
>将您的lib名称“mypackage”添加到您要使用它的软件包的AndroID.mk中的LOCAL_JAVA_liBRARIES.
>像这样添加xml权限文件:
com.mypackage.platform_library.xml
<?xml version="1.0" enCoding="utf-8"?><permissions> <library name="com.mypackage.platform_library" file="/system/framework/com.mypackage.platform_library.jar"/></permissions>
此文件必须放在设备的/ system / etc / permissions中.确保mypackage.jar位于设备上的指定位置.
>在AndroIDManifest中使用< uses-library androID:name =“com.mypackage.platform_library”/>
Here你可以找到一个例子.
总结以上是内存溢出为你收集整理的android – 将自己的框架或库添加到AOSP全部内容,希望文章能够帮你解决android – 将自己的框架或库添加到AOSP所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)