Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/221.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
已预装Android应用程序。因此无法升级库文件_Android_Preload - Fatal编程技术网

已预装Android应用程序。因此无法升级库文件

已预装Android应用程序。因此无法升级库文件,android,preload,Android,Preload,我为一家运营商工作,我们在Android手机上预装应用程序 然而,一些预加载的应用程序一旦从市场升级,就会崩溃 问题是: -应用程序包含一个.so库文件 -为了在手机上预加载完整的应用程序,.so库文件必须单独放入lib目录(/system/lib/libxxjni.so) -当预加载的应用程序从市场升级并运行时,将首先找到旧的预加载的.so文件,而不是新APK中的.so库文件,这会导致崩溃,因为这两个.so文件的内容不同 有没有人有一个建议的解决方法,或者图书馆搜索算法的知识可以帮助我解决这个

我为一家运营商工作,我们在Android手机上预装应用程序

然而,一些预加载的应用程序一旦从市场升级,就会崩溃

问题是:
-应用程序包含一个.so库文件
-为了在手机上预加载完整的应用程序,.so库文件必须单独放入lib目录(/system/lib/libxxjni.so)
-当预加载的应用程序从市场升级并运行时,将首先找到旧的预加载的.so文件,而不是新APK中的.so库文件,这会导致崩溃,因为这两个.so文件的内容不同

有没有人有一个建议的解决方法,或者图书馆搜索算法的知识可以帮助我解决这个问题

一种可能的解决方案可能是简单地重命名库文件,但这就足够了吗


提前感谢…

预加载时,请尝试将应用程序库放入: /data/data/com.package.foobar/lib/libxxjni.so


重命名库将起作用。可能使用应用程序的版本号作为.so文件的名称。但是,构建变得更加复杂。

对于任何类型的预加载情况,设备是否必须具有根访问权限才能重命名该/data/data位置的文件?我认为库在升级版本中会有一个新名称。重命名将在开发人员的机器上(以及在代码中的System.loadLibrary(…)调用中)进行。我认为最好是将库预加载到应用程序的lib目录中,而不是/System/lib。