Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/184.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android gradle如何排除spicific文件夹?_Android_Gradle - Fatal编程技术网

Android gradle如何排除spicific文件夹?

Android gradle如何排除spicific文件夹?,android,gradle,Android,Gradle,我尝试生成项目,但出现以下错误: Error:Execution failed for task ':app:transformNativeLibsWithMergeJniLibsForDebug'. > com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK lib/x86/

我尝试生成项目,但出现以下错误:

Error:Execution failed for task ':app:transformNativeLibsWithMergeJniLibsForDebug'.
> com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK lib/x86/libjniopenblas.so
    File1: C:\Users\1\.gradle\caches\modules-2\files-2.1\org.bytedeco.javacpp-presets\openblas\0.2.19-1.3\2189141b6c83cc8e5b342b04e8f49e22996f72f4\openblas-0.2.19-1.3-android-x86.jar
    File2: D:\Smart House\Sip projects\Camera\tipit\build\intermediates\bundles\default\jni

如何从构建中排除此目录
D:\Smart House\Sip projects\Camera\tipit\build\intermediates\bundles\default\jni

您可以在
PackageOptions
中使用pickFirst来仅使用
libjniopenblas中的一个。因此
文件:

您需要从文件1或文件2获取正确的包名
libjniopenblas。因此

android {

    ...

    packagingOptions {

       // This is using the library in File1
       pickFirst 'org.bytedeco.javacpp-presets/openblas/lib/x86/libjniopenblas.so'

       ...
    }

   ...
}
但是,您可以使用exclude来代替上述内容。首先,使用
libjniopenblas.so
从依赖关系树中检查依赖关系,找到依赖关系:

./gradlew app:dependencies
然后在找到它后,使用以下命令将其从库中排除:

compile('com.library.name:version') {
  exclude "libjniopenblas.so"
  // or exclude the module of the library
}

您可以在
packagingpoptions
中使用pickFirst来仅使用
libjniopenblas.so
文件中的一个:

您需要从文件1或文件2获取正确的包名
libjniopenblas。因此

android {

    ...

    packagingOptions {

       // This is using the library in File1
       pickFirst 'org.bytedeco.javacpp-presets/openblas/lib/x86/libjniopenblas.so'

       ...
    }

   ...
}
但是,您可以使用exclude来代替上述内容。首先,使用
libjniopenblas.so
从依赖关系树中检查依赖关系,找到依赖关系:

./gradlew app:dependencies
然后在找到它后,使用以下命令将其从库中排除:

compile('com.library.name:version') {
  exclude "libjniopenblas.so"
  // or exclude the module of the library
}

可能重复:可能重复:两种变体都很好,非常感谢。现在我知道如何查找重复的依赖项了!:)祝贺我很高兴我的回答对你有所帮助;)两种变体都很好,非常感谢。现在我知道如何查找重复的依赖项了!:)祝贺我很高兴我的回答对你有所帮助;)