Android 開發 so庫檔案找不到不錯
java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.imobi.callblocker-2/base.apk"],nativeLibraryDirectories=[/data/app/com.imobi.callblocker-2/lib/arm, /data/app/com.imobi.callblocker-2/base.apk!/lib/armeabi-v7a, /vendor/lib, /system/lib]]] couldn't find "libwebrtc.so"
遇到這個問題,真的很服氣,我的領導很長時間沒弄出來,這是我第一次解決了他未解決的問題,感覺自己not the same。哈哈,我希望自己能獨立,快速的獨立。 not the same。
下面說下解決辦法 :
這是引用so庫時的錯誤,找不到so檔案。
1.首先把在armeabi的同目錄下建一個資料夾armeabi-v7a,把armeabi的檔案copy一份到armeabi-v7a,build一下專案。
2.
在defaultConfig中加入ndk { // 設定支援的SO庫架構 abiFilters 'armeabi' ,'arm64-v8a' }
在後期的開發中,我又遇到了同樣的問題,由於問題的不斷地深入我不斷的加深對於引入so庫檔案的理解。上述的方法只是巧合能解決nexus5的手機,但是對於三星的手機是不可行的,原因是由於每種手機的cpu型號不行,所對應的so庫檔案打包時不同。具體的說一下:其實手機的cpu型號是不同的,有很多的平臺,1.armeabiv-v7a: 第7代及以上的 ARM 處理器。2011年15月以後的生產的大部分Android裝置都使用它.2.
你可以在androidstudio中檢視你引用的so庫,在你的專案中你自己引用的so庫不是全部的,你依賴jar包中也會引用so庫。下面接受檢視你的專案中引用的全部so庫,如下圖:
按照圖中的仙姑目錄開啟,雙擊1處,找到2處的lib檔案目錄,檢視引入so庫檔案的全部詳情,so庫的打包與cpu平臺型號是對應的,不能隨便的對應。
假如你有2個so庫檔名字為1,2不在同一目錄,app專案會根據從高版本查詢,一旦找到有一個so引假如是:1,就不會在向下尋找,2在低版本的arm平臺就會報錯,找不到2.so這個庫,如果你看懂了上述的敘述,你肯定就會知道怎樣解決,又不明白的歡迎留言,我都線上的。
在這裡在加一個小技巧,怎樣提取已經apk檔案中的jar包:
1.將apk檔案的檔案型別apk改為zip,2.用解壓工具解壓後直接搜尋.so檔案。你明白檔案目錄的話自己找也不是問題。
相關推薦
Android 開發 so庫檔案找不到不錯
java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.imobi.callblocker-2/base.apk"],nativeLi
error while loading shared libraries: libgmp.so.10 GMP 找不到共享庫檔案問題
編寫了一個使用GMP庫的程式,編譯可以通過,但是執行總是提示錯誤: error while loading shared libraries: libgmp.so.10: cannot open shared object file: No such file or dir
Android studio so庫找不到問題
java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[ zip file "/dat
Android -- 出現.so檔案找不到時怎麼處理
一. 問題在專案中我們有時會遇到這樣的錯誤: cannot find “xxx.so”這其中有兩種原因導致的錯誤,這種錯誤可能會讓我們的應用程式產生閃退和ANR錯誤(應用程式無響應),我們的解決辦法也是從這兩個方面入手二. 解決(1).so檔案沒有被呼叫在model下的bui
mac os 下建立 android avd 後啟動報找不到 avd ini 檔案 問題解決方法
在 Mac OS 上建立了android虛擬機器(avd)後,啟動的時候報找不到adv對應的ini檔案 PANIC: Could not open: ~/.android/avd/android4.0.3.ini 此檔案是建立虛擬機器的時候生成的,可以先查詢此檔案是否在別的位置: sudo find
linux 安裝JDK libjli.so 檔案找不到
liunx 安裝JDK時 報出 java-error-while-loading-shared-libraries-libjli-so 或者沒有找到該資料夾 yum install lrszs sz 下載 rz 上傳 本人jdk echo $JAVA_HOME
Android SO庫檔案頭分析
轉自:因為專案的需要,我對Android系統載入.so檔案有一些些研究,把最近看過的一些大牛的分析和現狀結合一下,寫篇東西做一下筆記。.so 檔案是什麼.so 檔案是 Shared Object 檔案的字尾,直白的說就是Linux系統中的“動態連結庫” ,就和Windows系
Android so庫檔案的區節section修復程式碼分析
一、Android so庫檔案的節表secion修復方案整理 https://bbs.pediy.com/thread-191649.htm 2. ELF section修復的一些思考
【iOS 】swift專案使用pod引入百度地圖oc庫時找不到標頭檔案
由於最近開發一個專案,需要用到百度地圖API,於是使用pod添加了百度地圖的庫,podfile如下: # Uncomment the next line to define a global platform for your project # platform :ios, '11
glib庫標頭檔案找不著 glib.h/glibconfig.h: no such file or directory
glib-2.0使用pkg-configMakefile加上CFLAGS += `pkg-config --cflags glib-2.0`LDFLAGS += `pkg-config --libs glib-2.0`
Android 開發中使用getAssets獲取不到檔案的問題
assets和res ,java 是在同一層目錄此外還有該目錄下放置的原生資原始檔 因為系統在編譯的時候不會編譯assets下的資原始檔,所以我們不能通過R.XXX.ID的方式訪問它們。那我麼能不能通過該資源的絕對路徑去訪問它們呢?因為apk安裝之後會放在/data
android studio R檔案找不到
[size=medium][color=gray] 最近在參加一個比賽,比賽要求需要開發一個Android專案。開發就開發吧,前兩天寫的程式碼好好的,執行也非常prefect,今天再新增新的內容時突然報錯R檔案找不到...[/color][/size][img]http:
library.so檔案找不到的問題
最近專案中遇到了要使用opencv的情況,涉及到了abi相容的選擇。因為如果全部都適配的話,包很大,這樣相容那些使用者數極少的cpu就很不划算,所以我只適配了armeabi-v7a這一個。但是今天在x64-v8a的模擬器上看的時候,提示我的library.so檔
android studio 建立安卓專案時 報R檔案找不到錯誤 可能源於佈局xml檔案包含錯誤
由於xml檔案沒有辦法在編寫時候檢查語法錯誤,所以當xml佈局檔案出錯之後,可能不會有任何報錯,但是編寫的應用在執行時候會立刻閃退。 再次啟動android studio時,會在一些相關聯的java檔案中報錯,資原始檔-R檔案找不到。如果此時編譯執行,會得到“error:
Linux環境下啟動MySQL數據庫出現找不到mysqld.sock的解決辦法!
備註 sta 就會 超級 默認目錄 sql數據庫 su - 用戶 lib 問題: 在普通用戶權限下運行:mysql -u root -p,回車之後如果會出現如下錯誤:ERROR 2002 (HY000): Can‘t connect to local MySQL ser
【微信小遊戲】(一)小遊戲開發調試--關於找不到app.json入口文件
com png info alt 微信開發者 遊戲 進入 http 找不到 經了解發現 小程序必須要有app.json 小遊戲必須的文件只有2個 game.js 小遊戲入口文件 game.json 小遊戲配置文件 所以不是工程文件缺失,解決方案如下: 進入微信開發者工具
Cannot resolve symbol KeyEventCompat(android.support.v4.view.KeyEventCompat找不到)
blog forward CA res tco sdn hand andro exe Cannot resolve symbol KeyEventCompat(android.support.v4.view.KeyEventCompat找不到) 解決方案 KeyEventC
【Android】so庫缺失--UnsatisfiedLinkError
第一次引入多個so庫,果斷報了UnsatisfiedLinkError錯誤 先引入的DMD(牆外的一個全景拍照sdk)的so庫 長這樣: 只支援兩個平臺:armeabi和armeabi-v7a,除錯正常。 然後引入百度地圖so庫 長這樣:
sudo一個*.sh檔案找不到命令;終端啟動軟體終端不能關閉
軟體目錄已經加入環境變數中. 在我的Ubuntu18下想要執行一個軟體的.sh啟動命令,於是就sudo xxx.sh卻提示找不到命令. 這是由於Ubuntu的安全機制導致的,個人的比較好的解決辦法是: 1,建立xxx.sh檔案的一個軟連線,最好是軟連線,加上-s引數 例如: sudo
php程式設計中require和include多層巢狀導致檔案找不到的錯誤
php中include和require可以包含其他檔案 但常引入的是一個相對路徑 如此會產生一個檔案,如下: 例如: (網站根目錄) ├資料夾A │ │ │ └1.php ├資料夾B │ │