在项目中要预置一个不可卸载的apk;
1、开发apk工程师反馈安装到机器上是可以正常使用(可卸载),然后我这边预置不可卸载到系统中,不能使用,会报服务链接不上,缺少.so库文件,查了下system/app/xxx目录和data/data/com.xx.xx/目录下确实没有库文件,下一步解决库文件问题
2、将库文件预置到system/app/xxx/lib/arm/目录下,还是会报同样的错;这个库文件是三方提供的,质询了下他们,他们反馈这个只是伪装的库,需要可执行权限;用adb修改库文件的权限后确实可以正常运行。
3、然后解决库文件权限的问题;按照正常的附权限的方法,在init.rc或者其它.rc文件中添加
chmod 777 路径 或者 chmod 0777 路径,还有在安卓中用Runtime方法,都不行;
最终在网上无意中看到
system/core/libcutils/fs_config.c
static const struct fs_path_config android_dirs[] = {
{ 00777, AID_SYSTEM, AID_SYSTEM, 0, "system/app/RemoteAssistance/lib/arm/lib_RongRTC_so.so" }
...................
static const struct fs_path_config android_files[] = {
{ 00777, AID_SYSTEM, AID_SYSTEM, 0, "system/app/RemoteAssistance/lib/arm/lib_RongRTC_so.so" }
网友评论