NDK Build x86使用so文件

简介: 我在用APP_ABI := armeabi armeabi-v7a x86的进行编译的时候,一直编译不了,第三方的SO是个X86的,于是X86的编译能过去,但是ARM的就不行了: root@hjm-H61M-DS2:~/workspace/J...
我在用APP_ABI := armeabi armeabi-v7a x86的进行编译的时候,一直编译不了,第三方的SO是个X86的,于是X86的编译能过去,但是ARM的就不行了:

root@hjm-H61M-DS2:~/workspace/JNI/jni# $NDK8/ndk-build
Compile thumb  : addjni <= libaddjni22.c
SharedLibrary  : libaddjni.so
/root/android-ndk-r8/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.4.3/../../../../arm-linux-androideabi/bin/ld: skipping incompatible /root/workspace/JNI/jni/libaddjni/libfoo_x86.so when searching for -lfoo_x86
/root/android-ndk-r8/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/../lib/gcc/arm-linux-androideabi/4.4.3/../../../../arm-linux-androideabi/bin/ld: cannot find -lfoo_x86
collect2: ld returned 1 exit status
make: *** [/root/workspace/JNI/obj/local/armeabi/libaddjni.so] Error 1


  如果有或创建Application.mk文件,则在该文件添加如下内容:

   APP_ABI := armeabiarmeabi-v7a x86

  如果没有或不想使用Application.mk文件,则在ndk-build参数中添加APP_ABI=“armeabi armeabi-v7a x86”

   so文件都会打在apk中,而且会依据系统CPU架构进行安装。

  

目录
相关文章
|
1月前
|
Java Linux 开发工具
NDK与JNI开发(1)ndk_build方式开发
NDK与JNI开发(1)ndk_build方式开发
NDK与JNI开发(1)ndk_build方式开发
|
Android开发 C++ 开发者
NDK21编译ffmpeg5.0.1
安卓NDK编译ffmpeg
122 0
AndroidStudio配置NDK
AndroidStudio配置NDK
66 0
|
C++
AndroidStudio中CMake多模块多目录编译
在学习过程接触到了CMake编译,它的好处就是可以跨平台。 使用AndroidStudio开发的工程中需要引入第三方库,加上自己的lib库,最后生成指定的SO库,这就涉及到了多模块编译。
440 0
|
XML 缓存 Java
Android项目中的build.gradle文件
Android项目中的build.gradle文件
372 0
|
Android开发 C++
【Android 安装包优化】使用 lib7zr.so 动态库处理压缩文件 ( 拷贝 lib7zr.so 动态库到 Android Studio 工程 | 配置 build.gradle 构建脚本 )
【Android 安装包优化】使用 lib7zr.so 动态库处理压缩文件 ( 拷贝 lib7zr.so 动态库到 Android Studio 工程 | 配置 build.gradle 构建脚本 )
128 0
【Android 安装包优化】使用 lib7zr.so 动态库处理压缩文件 ( 拷贝 lib7zr.so 动态库到 Android Studio 工程 | 配置 build.gradle 构建脚本 )
|
Android开发 C++
【Android 安装包优化】使用 lib7zr.so 动态库处理压缩文件 ( 修改 7zr 交叉编译脚本 Android.mk | 交叉编译 lib7zr.so 动态库 )(二)
【Android 安装包优化】使用 lib7zr.so 动态库处理压缩文件 ( 修改 7zr 交叉编译脚本 Android.mk | 交叉编译 lib7zr.so 动态库 )(二)
132 0
【Android 安装包优化】使用 lib7zr.so 动态库处理压缩文件 ( 修改 7zr 交叉编译脚本 Android.mk | 交叉编译 lib7zr.so 动态库 )(二)
|
Android开发 C++
【Android 安装包优化】使用 lib7zr.so 动态库处理压缩文件 ( 修改 7zr 交叉编译脚本 Android.mk | 交叉编译 lib7zr.so 动态库 )(一)
【Android 安装包优化】使用 lib7zr.so 动态库处理压缩文件 ( 修改 7zr 交叉编译脚本 Android.mk | 交叉编译 lib7zr.so 动态库 )(一)
111 0
【Android 安装包优化】使用 lib7zr.so 动态库处理压缩文件 ( 修改 7zr 交叉编译脚本 Android.mk | 交叉编译 lib7zr.so 动态库 )(一)
|
编译器 Android开发 C语言
【Android 安装包优化】使用 lib7zr.so 动态库处理压缩文件 ( 拷贝 lib7zr.so 动态库头文件到 Android 工程中 | 配置 CMakeLists.txt 构建脚本 )
【Android 安装包优化】使用 lib7zr.so 动态库处理压缩文件 ( 拷贝 lib7zr.so 动态库头文件到 Android 工程中 | 配置 CMakeLists.txt 构建脚本 )
116 0
【Android 安装包优化】使用 lib7zr.so 动态库处理压缩文件 ( 拷贝 lib7zr.so 动态库头文件到 Android 工程中 | 配置 CMakeLists.txt 构建脚本 )