【发布时间】:2019-09-11 12:02:44
【问题描述】:
自从我在运行应用程序时更新到 Android Studio 3.5(无论我选择哪个按钮),首先发生的就是这个错误:
Build command failed.
Error while executing process Library/Android/sdk/cmake/3.6.4111459/bin/cmake with arguments {--build /.cxx/cmake/prodDebug/arm64-v8a --target jni-lib}
[1/5] Building CXX object ../../../../mobileCore/CMakeFiles/MobileNativeCoreSharedLib.dir/LocationExpert.cpp.o
[2/5] Building CXX object ../../../../mobileCore/CMakeFiles/MobileNativeCoreSharedLib.dir/ElasticGPS.cpp.o
[3/5] Building CXX object ../../../../mobileCore/CMakeFiles/MobileNativeCoreSharedLib.dir/GRRunnableHandler.cpp.o
[4/5] Linking CXX shared library ../../../../build/intermediates/cmake/prodDebug/obj/arm64-v8a/libMobileNativeCoreSharedLib.so
FAILED: : && /android-ndk-r16/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang++ --target=aarch64-none-linux-android --gcc-toolchain=/android-ndk-r16/toolchains/aarch64-linux-android-4.9/prebuilt/darwin-x86_64 --sysroot=/android-ndk-r16/sysroot -fPIC -isystem /android-ndk-r16/sysroot/usr/include/aarch64-linux-android -D__ANDROID_API__=21 -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -O0 -fno-limit-debug-info -Wl,--exclude-libs,libgcc.a -Wl,--exclude-libs,libatomic.a --sysroot /android-ndk-r16/platforms/android-21/arch-arm64 -Wl,--build-id -Wl,--warn-shared-textrel -Wl,--fatal-warnings -Wl,--no-undefined -Wl,-z,noexecstack -Qunused-arguments -Wl,-z,relro -Wl,-z,now -shared -Wl,-soname,libMobileNativeCoreSharedLib.so -o ../../../../build/intermediates/cmake/prodDebug/obj/arm64-v8a/libMobileNativeCoreSharedLib.so ../../../../mobileCore/CMakeFiles/MobileNativeCoreSharedLib.dir/LocationExpert.cpp.o ../../../../mobileCore/CMakeFiles/MobileNativeCoreSharedLib.dir/ElasticGPS.cpp.o ../../../../mobileCore/CMakeFiles/MobileNativeCoreSharedLib.dir/GRRunnableHandler.cpp.o ../../../../mobileCore/CMakeFiles/MobileNativeCoreSharedLib.dir/DistanceCalculator.cpp.o ../../../../mobileCore/CMakeFiles/MobileNativeCoreSharedLib.dir/Logger.cpp.o -llog -latomic -lm "/android-ndk-r16/sources/cxx-stl/gnu-libstdc++/4.9/libs/arm64-v8a/libgnustl_static.a" && :
../../../../mobileCore/CMakeFiles/MobileNativeCoreSharedLib.dir/DistanceCalculator.cpp.o: error adding symbols: File in wrong format
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.
--- 省略了一些文件夹名称/用户名---
只有在我“刷新链接的 C++ 项目”/“清理项目”之后,应用程序才会在设备上编译、构建和安装。
这仅在将 AS 升级到 3.5 后才开始发生。
任何线索为什么? 谢谢!
【问题讨论】:
-
你能分享你的 CMakeLists.txt 和 build.gradle 吗?这里真的不够。
-
您可能应该升级您的 NDK。新的 Gradle 插件可能无法与 NDK r16 顺利配合。
标签: android android-studio android-ndk