当我点击更新并且项目不再构建时,我的Android Studio
或我的gradle-wrapper
或其他内容发生了某些事情。
这是我的错误日志:
Error:Execution failed for task ':app:myLibArm64-v8aDebugSharedLibrary'.
A build operation failed.
Linker failed while linking myLib.so.
See the complete log at: file:///mypath/app/build/tmp/myLibArm64-v8aDebugSharedLibrary/output.txt
output.txt说:
android-ndk/toolchains/aarch64-linux-android-4.9/prebuilt/darwin-
x86_64/bin/../lib/gcc/aarch64-linux-android/4.9.x/../../../../aarch64-
linux-android/bin/ld: cannot find -lopencv_java3
collect2: error: ld returned 1 exit status
此处还有我的gradle代码:
model {
android {
compileSdkVersion = 23
buildToolsVersion = "23.0.3"
defaultConfig.with {
applicationId "my.app"
minSdkVersion.apiLevel = 16
targetSdkVersion.apiLevel = 23
versionCode 1
versionName "1.0"
vectorDrawables.useSupportLibrary = true
}
ndk {
moduleName = "MyApp"
cppFlags.add("-I${file(getOpenCVDir())}/sdk/native/jni/include".toString())
cppFlags.add("-frtti")
cppFlags.add("-fexceptions")
cppFlags.add("-std=c++11")
ldLibs.addAll(["log", "opencv_java3"])
stl = "gnustl_static"
}
abis {
create("arm64-v8a") {
ldFlags.add("-L${file(getOpenCVDir())}/sdk/native/libs/arm64-v8a".toString())
}
create("armeabi") {
ldFlags.add("-L${file(getOpenCVDir())}/sdk/native/libs/armeabi".toString())
}
create("armeabi-v7a") {
ldFlags.add("-L${file(getOpenCVDir())}/sdk/native/libs/armeabi-v7a".toString())
}
create("mips") {
ldFlags.add("-L${file(getOpenCVDir())}/sdk/native/libs/mips".toString())
}
create("mips64") {
ldFlags.add("-L${file(getOpenCVDir())}/sdk/native/libs/mips64".toString())
}
create("x86") {
ldFlags.add("-L${file(getOpenCVDir())}/sdk/native/libs/x86".toString())
}
create("x86_64") {
ldFlags.add("-L${file(getOpenCVDir())}/sdk/native/libs/x86_64".toString())
}
}
}
}
我在classpath 'com.android.tools.build:gradle-experimental:0.8.3'
,我使用distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip
libopencv_java3.so位于abis {}
我已经尝试过的事情:
另外需要注意的是,同样的Grader和Android Studio版本(2.2.3)同样可以在我学院的计算机上运行。
答案 0 :(得分:0)
我已经解决了实际上非常愚蠢的问题,但我会让任何体验过此事的人知道。我的openCV SDK文件夹以某种方式与我的iCloud存储同步,突然之间,Android Studio无法访问那里的文件,并且gradle无法为我构建库。 我已将SDK文件夹移动到非同步文件夹,所有内容都重新开始工作。