Android Native 库.so加载
来源:互联网 发布:东罗马帝国 知乎 编辑:程序博客网 时间:2024/06/05 16:30
I have developed a system app for my rom which includes some native libraries.I have tried below:
do not copy this native libraries into /system/lib, but let it in the apk. In this case, the libraries will not be copied to /data/data/xxxx/lib on system start and my app will failed to run since library can not found.(PackageManagerService.java 3301Note: We don't want to unpack the native binaries for system applications, unless they have been updated (the binaries are already under /system/lib). In other words, we're going to unpack the binaries only for non-system apps and system app upgrades.)
copy this libraries to /system/lib. My app run correctly first, but when I upgrade it, the new version of libraries will be copied to /data/data/xxxx/lib on start up. But since android will looking for libraries at /system/lib before /data/data/xxx/lib( In DexClassLoader::findLibrary), the older version of libraries will always be loaded. It means that I will failed to upgrade native libraries then.
So, What should I do? Thanks
You can useSystem.load()
, which use a full path parameter, to implement a different library search mechanism, in contrast toSystem.loadLibrary()
. Below is a simple example:
public void loadLibrary(Context context, String libName) { String packageName = context.getPackageName(); String libPath = "/data/data/" + packageName + "/lib/" + libName; if (new File(libPath).exists()) { System.load(libPath); } else { System.loadLibrary(libName); }}
- Android Native 库.so加载
- Android Studio加载so库和调用native方法
- android 继承native 父类来加载so
- Android加载so库
- android动态加载so库
- android so 库加载问题
- Android Studio 加载 .so库出现couldn't find "*.so"
- Android Studio 加载 .so库出现couldn't find "*.so"
- android java.lang.UnsatisfiedLinkError: Native method not found及.so找不到无法加载问题
- cocos2dx android ndk 加载动态库(.so)
- CrossWalk - Android 动态加载so库文件
- Android studio 加载so库异常问题
- Android Launcher加载so库问题
- Android动态加载so库的实现
- android so库没办法加载
- android studio 加载so
- Android 加载外部so
- Android动态加载so
- utf8下汉字匹配正则表达式的规则
- Shell IF 用法注意
- jQuery学习笔记--JqGrid相关操作 方法列表 备忘 重点讲解(超重要)
- Trinity组装学习
- Mac使用git/github小结
- Android Native 库.so加载
- GCC 中的编译器堆栈保护技术
- 如何做好网站的安全性测试
- jqGrid 基础属性和方法
- BMP头文件格式以及C语言读取头文件
- MR方式简析
- Hibernate的getHibernateTemplate()的使用
- Fuel Stops
- partition 的输出值的总数据和reduce数量不匹配