【发布时间】:2015-07-05 04:03:39
【问题描述】:
当我使用 r10b 64 位构建器 ndk 编译 project 时,它编译得很好,没有任何问题
我能够在 Lollipop 中成功运行该项目,并且应用程序运行正常
但是当我在运行时在 JellyBean 中运行项目时,我得到以下信息 错误
无法加载所需的库“libopenvpn.so” “/data/data/de.blinkt.openvpn/cache/pievpn.armeabi-v7a”;引起的 soinfo_relocate(linker.cpp:987):找不到符号“srandom” 由“libopenvpn.so”引用...无法链接可执行文件
所以当我研究我found 时,由于使用了 64 位构建器,而解决方案是使用 32 位构建器。
当我使用 32 builder 时,我在编译过程中收到以下错误。
Android NDK:NDK 应用程序“本地”针对未知 ABI:arm64-v8a x86_64 Android NDK:请修复 APP_ABI 定义 ./jni/Application.mk
/Users/ShajilShocker/Documents/Android/NDK/android-ndk-r10b/build/core/setup-app.mk:112: *** Android NDK:正在中止。停下来。
所以如果我省略 arm64-v8a 和 x86_64,那么它可能会编译,但它似乎无法在 64 位设备上运行。
是否可以先使用 32 位(注释 64 架构)编译同一个项目,然后使用 64 位(取消注释 64 架构)编译并在两者上运行。
非常感谢任何帮助!
谢谢!
【问题讨论】:
-
这已经在您链接的问题中得到解决,但是那里的提问者没有选择最佳答案 - 请参阅 Michaël 的回答,指出目标 Android 版本的重要性。
标签: android android-studio android-ndk openvpn ndk-build