Android studio 配置Javacv出現“More than one file was found with OS independent path”的解決辦法

前言

最近在學習多媒體處理這一塊,然後就找到javacv這個開源庫,封裝了計算機視覺處理所需要的全部庫,很強大。

當前配置

  • Windows 10 專業版 64bit
  • Android Studio 3.1.4
  • gradle 3.1.3

配置

按照開源庫中gradle的配置方法。
gradle添加開源庫的依賴

看着配置就是這麼簡單,那麼就點一下“sync now”,那就進入一段下載時間,下載完之後,點擊運行,這裏就是爲了看配置能不能行。

出現配置問題

誒,果然是不行出現:

    More than one file was found with OS independent path 
    'org/bytedeco/javacpp/windows-x86/api-ms-win-crt-locale-l1-1-0.dll

看着意思是有重複的動態庫?

嘗試1

嗯,去c盤看看,嗯,找到很多(:з」∠) ,java安裝位置下面就有兩個,其他應用也有,怎麼搞?想一下歪腦筋,刪一個試試?
然而並沒有什麼效果……
那就只能放棄這種偏方了,畢竟也可能影響其他應用。

嘗試2

搜索,自己找
1. 先去開源庫Issues看看
找到了build failed,開心(〃’▽’〃)還是有好幾個人遇到同樣的問題,然而,找到正面回答這個問題的答案,但是看起來問題有點類似。
這裏寫圖片描述
2. 嘗試
既然是是找到重複的,那就只取其中一個就好了, 思路OK,試試。
加一個。

android {
    packagingOptions {
        pickFirst  'org/bytedeco/javacpp/windows-x86/api-ms-win-crt-locale-l1-1-0.dll'
        }
    }

構建一下試試。
確實沒有相同的錯誤,但是⊙︿⊙有提示其他文件了,同樣是window的動態庫,經過若干次的構建,添加pickFirst,最終可以了 -(゜-゜)つロ乾杯~。
3. 結果
增加比較多的pickFirst,是我電腦裝了一些其他軟件(´・_・`)??還找不到原因。

packagingOptions {
        pickFirst 'org/bytedeco/javacpp/windows-x86/api-ms-win-crt-locale-l1-1-0.dll'
        pickFirst 'org/bytedeco/javacpp/windows-x86/concrt140.dll'
        pickFirst 'org/bytedeco/javacpp/windows-x86/api-ms-win-crt-utility-l1-1-0.dll'
        pickFirst 'org/bytedeco/javacpp/windows-x86/api-ms-win-crt-math-l1-1-0.dll'
        pickFirst 'org/bytedeco/javacpp/windows-x86_64/api-ms-win-crt-locale-l1-1-0.dll'
        pickFirst 'org/bytedeco/javacpp/linux-x86_64/libgomp.so.1'
        pickFirst 'org/bytedeco/javacpp/windows-x86/api-ms-win-crt-stdio-l1-1-0.dll'
        pickFirst 'org/bytedeco/javacpp/windows-x86_64/api-ms-win-crt-convert-l1-1-0.dll'
        pickFirst 'org/bytedeco/javacpp/macosx-x86_64/libusb-1.0.0.dylib'
        pickFirst 'org/bytedeco/javacpp/windows-x86_64/api-ms-win-crt-time-l1-1-0.dll'
        pickFirst 'org/bytedeco/javacpp/linux-x86/libgomp.so.1'
        pickFirst 'org/bytedeco/javacpp/windows-x86_64/api-ms-win-crt-math-l1-1-0.dll'
        pickFirst 'org/bytedeco/javacpp/windows-x86_64/api-ms-win-crt-environment-l1-1-0.dll'
        pickFirst 'org/bytedeco/javacpp/windows-x86_64/api-ms-win-crt-multibyte-l1-1-0.dll'
        pickFirst 'org/bytedeco/javacpp/windows-x86/api-ms-win-crt-runtime-l1-1-0.dll'
        pickFirst 'org/bytedeco/javacpp/windows-x86_64/msvcp140.dll'
        pickFirst 'org/bytedeco/javacpp/windows-x86_64/api-ms-win-crt-stdio-l1-1-0.dll'
        pickFirst 'org/bytedeco/javacpp/windows-x86_64/api-ms-win-crt-string-l1-1-0.dll'
        pickFirst 'org/bytedeco/javacpp/windows-x86_64/vcruntime140.dll'
        pickFirst 'org/bytedeco/javacpp/windows-x86/api-ms-win-crt-multibyte-l1-1-0.dll'
        pickFirst 'org/bytedeco/javacpp/windows-x86_64/api-ms-win-crt-filesystem-l1-1-0.dll'
        pickFirst 'org/bytedeco/javacpp/windows-x86/api-ms-win-crt-time-l1-1-0.dll'
        pickFirst 'org/bytedeco/javacpp/windows-x86/msvcp140.dll'
        pickFirst 'org/bytedeco/javacpp/windows-x86/api-ms-win-crt-environment-l1-1-0.dll'
        pickFirst 'org/bytedeco/javacpp/windows-x86_64/concrt140.dll'
        pickFirst 'org/bytedeco/javacpp/api-ms-win-crt-heap-l1-1-0.dll'
        pickFirst 'org/bytedeco/javacpp/windows-x86/api-ms-win-crt-heap-l1-1-0.dll'
        pickFirst 'org/bytedeco/javacpp/windows-x86_64/api-ms-win-crt-heap-l1-1-0.dll'
        pickFirst 'org/bytedeco/javacpp/windows-x86/vcruntime140.dll'
        pickFirst 'org/bytedeco/javacpp/windows-x86/api-ms-win-crt-convert-l1-1-0.dll'
        pickFirst 'org/bytedeco/javacpp/windows-x86/api-ms-win-crt-string-l1-1-0.dll'
        pickFirst 'org/bytedeco/javacpp/windows-x86_64/api-ms-win-crt-runtime-l1-1-0.dll'
        pickFirst 'org/bytedeco/javacpp/windows-x86/api-ms-win-crt-filesystem-l1-1-0.dll'
        pickFirst 'org/bytedeco/javacpp/windows-x86_64/api-ms-win-crt-utility-l1-1-0.dll'

    }

結語

這裏也就是剛開始配置javacv,具體的時候還沒開始,也不知道這能不能用。
這只是想到的一種解法,不知道其他解法,如果有其他有效的解法,評論區回一下,感謝。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章