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