“的lib/86/libusb.so”不止一个文件被发现独立于操作系统的路径

问题描述:

我在我的Android应用程序中使用libusb。当我试图建立libusb本地库,然后我得到以下错误消息,*。所以生成的文件。“的lib/86/libusb.so”不止一个文件被发现独立于操作系统的路径

Error:Execution failed for task ':app:transformNativeLibsWithMergeJniLibsForDebug'. More than one file was found with OS independent path 'lib/x86/libusb.so'

enter image description here

的build.gradle

import org.apache.tools.ant.taskdefs.condition.Os 

apply plugin: 'com.android.application' 

apply plugin: 'kotlin-android' 

apply plugin: 'kotlin-android-extensions' 

android { 
    compileSdkVersion 26 
    buildToolsVersion "26.0.0" 
    defaultConfig { 
     applicationId "com.williams.libusbpoc" 
     minSdkVersion 21 
     targetSdkVersion 26 
     versionCode 1 
     versionName "1.0" 
     testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
    externalNativeBuild { 
     ndkBuild { 
      path 'src/main/jni/Android.mk' 
     } 
    } 

    sourceSets.main { 
     jniLibs.srcDir 'src/main/libs' 
     jni.srcDirs = [] //disable automatic ndk-build call 
    } 

    // call regular ndk-build(.cmd) script from app directory 
    task ndkBuild(type: Exec) { 
     if (Os.isFamily(Os.FAMILY_WINDOWS)) { 
      commandLine 'ndk-build.cmd', '-C', file('src/main').absolutePath 
     } else { 
      commandLine 'ndk-build', '-C', file('src/main').absolutePath 
     } 
    } 

    tasks.withType(JavaCompile) { 
     compileTask -> compileTask.dependsOn ndkBuild 
    } 
} 

dependencies { 
    implementation fileTree(dir: 'libs', include: ['*.jar']) 
    androidTestImplementation ('com.android.support.test.espresso:espresso-core:2.2.2', { 
     exclude group: 'com.android.support', module: 'support-annotations' 
    }) 
    implementation"org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version" 
    implementation 'com.android.support:appcompat-v7:26.0.0-beta2' 
    testImplementation 'junit:junit:4.12' 
    implementation 'com.android.support.constraint:constraint-layout:1.0.2' 
    compile "org.jetbrains.anko:anko-appcompat-v7-commons:$anko_version" 
} 

我在Windows机器上。有谁知道可能是什么问题?

我除去jniLibs.srcDir 'src/main/libs'代码sourceSets.main块内。它创建两次* .so文件。

sourceSets.main { 
    jniLibs.srcDir 'src/main/libs' 
    jni.srcDirs = [] //disable automatic ndk-build call 
} 
+0

感谢南希..它在我的应用程序上工作 –

+0

没有为我工作: 错误:(25,1)评估项目':app'时发生问题。 >无法投对象 'SRC /主/ JNI/lib中' 与类 'java.lang.String中' 类 'java.lang.Iterable' – Paamand

我看到在迁移到Android Studio 3.0后运行我的应用程序时出现类似的错误。构建干净解决了这个问题。