日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

【转】.so兼容32位和64位

發(fā)布時(shí)間:2025/3/17 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【转】.so兼容32位和64位 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

安卓的兼容性是一個(gè)很令人頭疼的問(wèn)題,這幾天又遇到了,還好還是解決了。

我遇到的問(wèn)題是,我在網(wǎng)上下載了一個(gè)功能庫(kù),里面帶了一個(gè)xxx.so動(dòng)態(tài)庫(kù),問(wèn)題它是32位的。但是,早兩天拿了一臺(tái)arm-64位的手機(jī)進(jìn)行測(cè)試時(shí),發(fā)現(xiàn)它居然崩潰了!淚崩了好久...

?

起初報(bào)錯(cuò)信息是:
java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.xxx.xxx-1/base.apk"],nativeLibraryDirectories=[/data/app/com.xxx.xxx-1/lib/arm64, /vendor/lib64, /system/lib64]]] couldn't find "xxx.so",
主要是說(shuō)找不到這個(gè)64位的xxx.so庫(kù),好吧,我確實(shí)沒(méi)有建arm64-v8a文件夾,更別說(shuō)是里面還要放一個(gè)64位的xxx.so庫(kù)了。

算了,還是建一個(gè)arm64-v8a文件夾,把xxx.so庫(kù)拷貝進(jìn)去。然后,然后還是崩潰了。。。

?

報(bào)錯(cuò)信息是:
java.lang.UnsatisfiedLinkError: dlopen failed: "/data/app/com.xxx.xxx-2/lib/arm64/xxx.so" is 32-bit instead of 64-bit
at java.lang.Runtime.loadLibrary(Runtime.java:371)
at java.lang.System.loadLibrary(System.java:988)
果然這么直接暴力是不行的,xxx.so是個(gè)該死的32位的庫(kù),問(wèn)題是當(dāng)初我找到這個(gè)庫(kù)的時(shí)候,就只有這么一個(gè)庫(kù),我去哪找個(gè)64位的來(lái)呀?我都沒(méi)有c++的源文件!
然后只能百度啊,谷歌了。。。爬了會(huì)帖子發(fā)現(xiàn),最多的是然你配置NDK編譯條件,Android.mk LOCAL_MULTILIB := 32,哎,悲傷了好久。。。
不過(guò),幸運(yùn)的我還是找到了解決的辦法:
1.在build.gradle中配置如下:

android {
? ? ...
defaultConfig {
....
ndk {
moduleName"native"
abiFilters"armeabi","armeabi-v7a","x86","mips"
}
? ? }
? ? ...
}

2.在gradle.properties中配置Android.useDeprecatedNdk=true。(android的A是小寫(xiě)a的,CSDN會(huì)自動(dòng)修改)開(kāi)始迷糊了半天,項(xiàng)目中怎么沒(méi)有這個(gè)文件呢?為啥別人的項(xiàng)目中都有,看了下同事的項(xiàng)目,一樣的沒(méi)有。然后查了下,原來(lái)是用來(lái)配置變量參數(shù)的,好吧,那就新建一個(gè)吧。

?

然后就搞定啦!








本文轉(zhuǎn)自秋楓博客園博客,原文鏈接:http://www.cnblogs.com/rwxwsblog/p/5646627.html,如需轉(zhuǎn)載請(qǐng)自行聯(lián)系原作者

總結(jié)

以上是生活随笔為你收集整理的【转】.so兼容32位和64位的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。