您好,登錄后才能下訂單哦!
項目里包含了多個帶有so文件的第三方庫,支持的平臺數不一樣。當應用跑在5.0系統上便會崩潰,后發現是有些第三方庫的x86-64的so文件沒有安裝。
查看了官網的ABIManager,似乎寫得并不夠清晰。處理過程中,發現信鴿sdk附帶的一份說明倒是讓人很容易的理解so文件的安裝機制。
1.信鴿的.so支持所有的android平臺,但考慮到平時接入一般只需要armeabi平臺,因此libs目錄只提供該平臺的.so,其它平臺可在上層目錄的All-Platform-SO找到。 2.嵌入.so可能存在的問題: a.so文件與jar包不匹配。 解決辦法:在更新jar時同時更新對應的so文件; b.當前工程已有某些平臺的so,如只有armeabi平臺,卻添加信鴿所有平臺導致打包時異常。 解決辦法:只添加當前工程已有的平臺的信鴿so文件。具體可參考網上或以下示例: armeabi !此平臺既有當前存在so又有信鴿,正常! --libCurrent.so 當前工程已有so --libtpnsSecurity.so 信鴿 --libtpnsWatchdog.so 信鴿 armeabi-v7a !此平臺既有當前存在so又有信鴿,正常! --libCurrent.so 當前工程已有so --libtpnsSecurity.so 信鴿 --libtpnsWatchdog.so 信鴿 mips !!!錯誤,由于此平臺只有信鴿,必須刪掉mips目錄!!! --libtpnsSecurity.so 信鴿 --libtpnsWatchdog.so 信鴿 x86 !!!錯誤,由于此平臺只有信鴿,必須刪掉x86目錄!!! --libtpnsSecurity.so 信鴿 --libtpnsWatchdog.so 信鴿 c.若當前工程不存在so文件。 解決辦法:可復制所有信鴿平臺或只復制armeabi平臺
再結合其他參考文章,應該可以大概總結如下:
至少包含armeabi平臺
多個不同庫都有so文件時 就以包含支持最少平臺的那個為準
其他參考:
1.http://www.open-open.com/lib/view/open1440421271716.html
2.http://stackoverflow.com/questions/30782848/how-to-use-32-bit-native-libaries-on-64-bit-android-device
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。