64비트 Android 장치에서 .so 파일을 찾을 수 없습니다. (Can not find .so file on 64 bit android device)


문제 설명

64비트 Android 장치에서 .so 파일을 찾을 수 없습니다. (Can not find .so file on 64 bit android device)

android studio 및 gradle 빌드를 사용하여 새장 android sdk 사용. 32비트 아키텍처를 사용하는 모든 기기에서 정상적으로 실행되는 앱이 생성되었습니다.

64비트 기기에서 동일한 앱에서 다음 오류가 발생합니다. [예. Sony C4]

    java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file 
"/data/app/com.myapp/base.apk"],nativeLibraryDirectories=[/data/app/com.myapp/lib/arm64, /vendor/lib64, /system/lib64]]] couldn't find "libaviary_moalite.so"

gredle.build 부분

dependencies {
    ...
    compile 'com.android.support:multidex:1.0.0'
    compile 'com.facebook.fresco:fresco:0.8.1+'
    compile 'com.facebook.fresco:imagepipeline‑okhttp:0.8.1+'
    compile 'com.android.support:appcompat‑v7:22.2.1'
    compile 'com.adobe.creativesdk:image:4.0.0'
}

작동하지 않은 참조

ARM64 NDK 네이티브를 찾을 수 없습니다. Android Studio(1.3 RC)를 사용하는 lib

사용된 솔루션을 사용하면 동일한 오류가 발생합니다.


참조 솔루션

방법 1:

It looks like some of the packages you use come with 64‑bit libraries, but some don't. To keep your APK 32‑bit only, I use

android {
    splits {
        abi {
            enable true
            reset()
            include 'armeabi‑v7a'
        }
    }
}

You can play with include 'armeabi' too, if it is relevant.

방법 2:

I've solved this case by the following steps:

  1. I've moved armeabi and x86 folders from: \src\main\jniLibs to: \libs

    Please make sure to move all the files under those folders as well: *.so files should be located there.

  2. I've added the following to my build.gradle:

    sourceSets.main {
      jniLibs.srcDir 'src/main/libs'
    }
    
  3. Clean + rebuild the project

    *in case you are using multidex, please verify that these lines were added to build.gradle:

    defaultConfig {
      multiDexEnabled true
    }
    
    dexOptions {
      preDexLibraries false
      javaMaxHeapSize "4g"
    }
    

In addition, this should be added inside your manifest file:

<application
    android:name="android.support.multidex.MultiDexApplication">
/application>

Hope this helps.

(by Umesh AawteAlex Cohnuser5993310)

참조 문서

  1. Can not find .so file on 64 bit android device (CC BY‑SA 2.5/3.0/4.0)

#adobecreativesdk #android-ndk #aviary #Android






관련 질문

Swift의 Adobe Creative SDK (Adobe Creative SDK in Swift)

대화 상자 없이 Avairy 실행(div 내부) (Launch Avairy without a dialog (inside div))

Aviary/Creative SDK 이미지 편집기로 이미지 교체 (Replace image with Aviary/Creative SDK Image Editor)

Ionic/Cordova에서 Adobe Creative SDK Feather Editor를 통합하는 방법 (How to integrate Adobe Creative SDK Feather Editor in Ionic/Cordova)

64비트 Android 장치에서 .so 파일을 찾을 수 없습니다. (Can not find .so file on 64 bit android device)

편집된 이미지를 웹에 저장하기 위한 Adobe Creative SDK (Adobe Creative SDK for Web saving edited image)

크리에이티브 SDK. MainActivity를 실행한 다음 이미지 편집기를 시작합니다. 그런 다음 홈 키. 그런 다음 앱으로 돌아갑니다. 이미지 편집기 활동이 사라짐 (Creative SDK. MainActivity then launch Image Editor. then home key. then back to app. Image Editor activity disappear)

Creative SDK에 맞춤 프레임 및 스티커 추가 (Adding Custom Frames and Stickers to Creative SDK)

Aviary 웹 SDK 자르기 도구 및 모바일 브라우저 기능이 작동하지 않음 (Aviary web SDK crop tool and mobile browser features not working)

Aviary Image Editor에서 사용자 로그인 버튼 제거 (Removing user login button on Aviary Image Editor)

자르기 도구를 연 상태에서 강제 자르기/시작 (Force crop/start with crop tool open)

Adobe 크리에이티브 SDK가 Android Nougat에서 작동하지 않음 (Adobe creative SDK not working for Android Nougat)







코멘트