簡體   English   中英

使用Android Studio(1.3 RC)找不到ARM64 NDK本機庫

[英]Can't find ARM64 NDK native lib using Android Studio (1.3 RC)

致命異常:java.lang.UnsatisfiedLinkError dalvik.system.PathClassLoader [DexPathList [[zip文件“ /data/app/com.myapp-1/base.apk"],nativeLibraryDirectories=[/data/app/com.myapp-1 / lib / arm64,/ vendor / lib64,/ system / lib64]]]找不到“ libnative.so”

它僅在ARM64設備上發生。 我沒有在gradle設置中設置任何自定義NDK構建。

看起來Android Studio以某種方式弄亂了正確的文件夾以復制.so文件。

情況如何以及如何解決?

基本上,我們要做的是將.so文件放在名為lib的文件夾中(注意:這不是libs,這不是錯誤)。 它應該具有相同的結構,並且應該位於APK文件中。

項目:

| --lib:

| - | --armeabi:

|-|-|-。so文件。

1)因此,我創建了一個lib文件夾,並在其中放入了armeabi文件夾,在其中插入了所有需要的.so文件。

2)然后,我將文件夾壓縮為.zip(zip文件中的結構現在為lib / armeabi / *。so)。

3)然后,我將.zip文件重命名為armeabi.jar。

4)然后,在gradle的構建文件中將行compile fileTree(dir:'libs',include:'* .jar')添加到依賴項{}中。

也許您正在使用另一個為arm64-v8a嵌入.so文件的庫? 將您的APK作為zip文件打開,然后在lib文件夾中查看是否存在這種情況。

然后,要解決您的問題,您可以使用abiFilters僅為完全支持的體系結構包括.so文件:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM