nativeLibraryDirectories=[/data/app/com.lukouapp-1/lib/arm64, /vendor/lib64, /system/lib64]]] couldn't find "libxxxx.so


  一開始我遇到的問題是,如果手機有SD卡槽,則不管有沒有插卡,都會閃退,打日記后發現是找不到so文件。報錯日記如下:

   nativeLibraryDirectories=[/data/app/com.lukouapp-1/lib/arm64, /vendor/lib64, /system/lib64]]] couldn't find "libxxxx.so

  據大神說(轉自http://www.jianshu.com/p/a75cc076480f),問題原因:64位機器默認去查找arm64-v8a目錄下是否有合適的64位庫,如果沒有則回去libs下查找32位的庫,而fresco的draw-pipeline太完善了考慮了64位的機器所以他的arm64-v8a下有so庫,對應的系統就創建了lib64的文件,而不再去找32位的庫。

  我用的是Android Studio工程,於是修改gradle文件,在defaultConfig {}的里面加上 

 ndk {

        abiFilters "armeabi", "armeabi-v7a", "x86", "mips"
    }

最終效果如下:
defaultConfig {
    applicationId "com.richinfo.travel"
    minSdkVersion 14
    targetSdkVersion 22
    versionCode 3
    versionName "1.0.2"
    buildConfigField "boolean", "LOG_DEBUG", "true"
    consumerProguardFiles 'proguard-file.txt'
    manifestPlaceholders = [UMENG_CHANNEL_VALUE: "local"]
    ndk {
        abiFilters "armeabi", "armeabi-v7a", "x86", "mips"
    }}
 
       


免責聲明!

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



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