gpt4 book ai didi

android - 从库中删除armeabi-v7a文件夹后,静态初始化失败

转载 作者:行者123 更新时间:2023-12-02 17:51:54 30 4
gpt4 key购买 nike

当我的项目中同时包含libs / armeabi文件夹和libs / armeabi-v7a文件夹时,一切正常,并且可以通过调用OpenCVLoader.initDebug()来执行OpenCV的静态初始化。

但是,由于我的主要目标是支持所有未使用ARM v7 CPU的较旧设备,因此我听说仅使用armeabi时armeabi-v7a has some optimization code应该适用于所有设备,因此我想删除它以减小APK大小。但是,这样做之后,它无法在我的Samsung Galaxy S3上初始化。

我做错什么了吗?如何强制使用libs / armeabi进行初始化?

提前致谢!

最佳答案

我发现了问题,但不知道为什么会这样。

这是由于我的文件夹结构:

/armeabi
- libabc.so
- libdef.so
- libspecial.so

/armeabi-v7a
- libabc.so
- libdef.so

由于我的设备使用的是arm7 cpu,因此最终的APK在libs文件夹中仅包含libabc.so和libdef.so。这就是为什么我无法初始化依赖于libspecial.so的OpenCV的原因。
我上面的问题令人误解,因为我说我删除了armeabi-v7a文件夹,但实际上我只删除了libspecial.so,对此感到抱歉,应该更清楚地提及它。

但是,阅读本文后,我更加困惑。
http://docs.xamarin.com/guides/android/advanced_topics/cpu_architecture
。这篇文章指出,在4.0.4版本之后,它应该进行合并,而我不会遇到这个问题。

我通过完全删除armeabi-v7a文件夹来使其工作,因此所有内容都在armeabi上运行。但是我认为这不是一个好主意,因为有人建议如果我确实想节省APK文件的大小,则应针对每种体系结构创建两个单独的APK目标。

关于android - 从库中删除armeabi-v7a文件夹后,静态初始化失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18446622/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com