Android 不同国家的手机芯片架构不同?
Android mobile chip architectures different in different countries?
我有一个 android 应用程序,它使用 c 库并为 x86、armeabi 和 armeabi-v7a 架构编译。
我最近注意到了这一点,似乎有些 phone 可以在一个国家/地区使用,但德国、韩国、意大利和澳大利亚的应用程序用户似乎遇到了 UnsatisfiedLinkErrors,特别是在使用 opencv 时。 .
我已经通过
包含了 opencv 的使用
static {
System.loadLibrary("somecompiledlibname");
}
异常java.lang.UnsatisfiedLinkError:未找到本机方法:org.opencv.core.Mat.n_Mat:()
所以我的问题是:
1) 不同国家的架构是否不同?
2) 我该如何解决这个问题?
您只能在 OpenCV 初始化之后调用任何 OpenCV 对象和函数,包括对象构造函数。当 OpenCV 正确初始化时 onManagerConnected(LoaderCallbackInterface.SUCCESS) 被调用。
像这里一样尝试:
static {
if (!OpenCVLoader.initDebug()) {
//..
}
}
没有。手机之间的架构不同。给定的 CPU 在世界各地使用相同的架构。 x86 是 Intel(或 AMD)PC 处理器,有时用于平板电脑,但很少使用。 ARM 是一种完全不同类型的芯片,世界上几乎所有的移动设备都在使用它。 ARMv7 是更现代的 ARM 版本,但不适用于较旧的 CPU。你最好支持所有这些,尽管现在几乎所有东西都将是 ARMv7。
我有一个 android 应用程序,它使用 c 库并为 x86、armeabi 和 armeabi-v7a 架构编译。
我最近注意到了这一点,似乎有些 phone 可以在一个国家/地区使用,但德国、韩国、意大利和澳大利亚的应用程序用户似乎遇到了 UnsatisfiedLinkErrors,特别是在使用 opencv 时。 .
我已经通过
包含了 opencv 的使用static {
System.loadLibrary("somecompiledlibname");
}
异常java.lang.UnsatisfiedLinkError:未找到本机方法:org.opencv.core.Mat.n_Mat:()
所以我的问题是:
1) 不同国家的架构是否不同?
2) 我该如何解决这个问题?
您只能在 OpenCV 初始化之后调用任何 OpenCV 对象和函数,包括对象构造函数。当 OpenCV 正确初始化时 onManagerConnected(LoaderCallbackInterface.SUCCESS) 被调用。
像这里一样尝试:
static {
if (!OpenCVLoader.initDebug()) {
//..
}
}
没有。手机之间的架构不同。给定的 CPU 在世界各地使用相同的架构。 x86 是 Intel(或 AMD)PC 处理器,有时用于平板电脑,但很少使用。 ARM 是一种完全不同类型的芯片,世界上几乎所有的移动设备都在使用它。 ARMv7 是更现代的 ARM 版本,但不适用于较旧的 CPU。你最好支持所有这些,尽管现在几乎所有东西都将是 ARMv7。