2017-10-25 3 views
0

私はプロジェクトをビルドしようとするが、このエラーが発生しました:Android用の無料アプリspicificフォルダを除外する方法は?

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からこのディレクトリを除外するためにどのように?

あなたはFile1のかFile2のからlibjniopenblas.soの正しいパッケージ名を取得する必要があります:

+0

可能な複製をします。https:/ /stackoverflow.com/questions/36700213/duplicatefileexception-error-while-building-android-apk – Kuffs

答えて

1

は1つだけですlibjniopenblas.soのファイルを使用するでpickFirstを使用することができます

android { 

    ... 

    packagingOptions { 

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

     ... 
    } 

    ... 
} 

しかし、その代わりに上記のを、除外を使用することができます。で、ライブラリからそれを除外し、あなたがそれを見つけた後、次に

./gradlew app:dependencies 

:まず、との依存関係ツリーからそれをチェックすることにより、libjniopenblas.soを使用して依存関係を見つける

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

両方のバリエーションはとてもうまく動作します。さらに今、私は重複する依存関係を探す方法を知っています!:) –

+0

おめでとう!私の答えはあなたを助けてくれることをうれしく思います;) –

関連する問題