我正在尝试从我的应用程序中删除一些本机库,因为我不再使用它们,但是在我的手机中安装 apk 后,我可以看到本机库仍然存在。正如我所看到的,android 确实通过替换我的 libs/ 目录中的文件来正确复制/更新本机库,但显然当它们不在 apk 中时它不会删除它们。我怎么知道图书馆还在那里?首先,应用程序的大小保持不变,我正在删除一些非常大的库,其次,如果我离开 System.load(...) 语句,应用程序仍然能够加载库。
我为此找到的唯一解决方案是卸载应用程序并重新安装,但这对于从 google play 更新应用程序的用户来说并不是一个明显的解决方案,是的,这个问题严重影响了我的应用程序功能。
我已经检查过了,显然我可以自己删除文件,比如在创建服务期间,但我不想以这种方式搞乱安装。
你知道有没有办法告诉 Android 它需要删除所有的原生库并再次复制它们?
谢谢,迈克
[编辑]
我刚刚发现 GB 正确更新了库,它删除了现在丢失的文件,但是 ICS 和 JB 都没有这样做,即使它们不再在 apk 中,这两个文件也会留下旧的 .so 文件。
我尝试从 /data/data/mypackage/lib 手动删除 .so 文件,但它不会让我这样做。
有任何想法吗?