android64位機子兼容32位.so庫文件


     http://blog.csdn.net/vhawk/article/details/49964475

猴子在調用高德地圖的時候,遇到一個操作系統兼容問題,異常堆棧說是找不到so庫文件,猴子就不懂了,明明有他說的那個文件。

        后來和同行交流,他們的jniLibs中有一個arm64-v8a的文件夾用來存放64位操作系統的so庫文件,於是猴子自己建了一個arm64-v8a文件夾,因為高德並沒有把64位的so庫文件公布出來,所以,猴子直接把他們唯一的so庫考到了arm64-v8a文件夾下。自以為這下就該好了,於是等待見證奇跡。奇跡果然發生了,爆出了那個so庫是32位而非64位的異常。猴子果斷蒙圈了。下載了高德的demo,看到她們的demo里面也只有armeabi這一個庫文件夾。這讓猴子感覺到,64位的操作系統可以兼容32位的庫文件。於是多方查找資料。終於在一家英文網站上找到了答案。

       解決方案也很簡單,在build.gradle中加上,這句話的意思大概就是,告訴程序加載如下的so文件

 

 

defaultConfig {
  ......ndk {
        abiFilters "armeabi", "armeabi-v7a", "x86", "mips"
}


}

 

這時會報錯,因為gradle的配置中,並不知道是否要做操作系統的兼容,這時只要在gradle.properties文件中加上

Android.useDeprecatedNdk=true

就可以了。

運行,終於能奇跡般地運行起來了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM