RemoteMonster Community

Android SDK 0.2.48 버전과 Fresco 라이브러리 충돌 문제

안녕하세요.

저희 앱에 리모트몬스터 SDK를 적용하는 과정에서 문제가 확인되어,
리모트몬스터 샘플 앱에서도 문제를 재연하여 제보드립니다.

app/build.gradle 에서

dependencies {
compile ‘com.facebook.fresco:fresco:1.3.0’
}

android {
defaultConfig {
multiDexEnabled true
}
}

를 추가하고,

multiDex 때문에, gradle/wrapper/gradle-wrapper.properties 에서
gradle wrapper version을 아래와 같이 3.3으로 변경하면

distributionUrl=https://services.gradle.org/distributions/gradle-3.3-bin.zip

실행 시에 다음과 같은 에러가 발생합니다.

06-02 10:52:45.617 30976-30976/? W/org.webrtc.Logging: Failed to load jingle_peerconnection_so:
java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file “/data/app/com.remon.example.genericsimple-2/base.apk”],nativeLibraryDirectories=[/data/app/com.remon.example.genericsimple-2/lib/arm64, /data/app/com.remon.example.genericsimple-2/base.apk!/lib/arm64-v8a, /system/lib64, /vendor/lib64]]] couldn’t find "libjingle_peerconnection_so.so"
at java.lang.Runtime.loadLibrary0(Runtime.java:972)
at java.lang.System.loadLibrary(System.java:1567)
at org.webrtc.Logging.(Logging.java:28)
at org.webrtc.Logging.d(Logging.java:142)
at org.webrtc.EglBase14.isEGL14Supported(EglBase14.java:40)
at org.webrtc.EglBase.create(EglBase.java:86)
at org.webrtc.EglBase.create(EglBase.java:93)
at com.remon.remondroid.Remon.(Remon.java:116)
at com.remon.remonsimpletest.MainActivity.onCreate(MainActivity.java:65)
at android.app.Activity.performCreate(Activity.java:6942)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1126)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2880)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2988)
at android.app.ActivityThread.-wrap14(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1631)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6682)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1520)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1410)

확인 부탁 드립니다. 감사합니다.

0.2.59 버전으로 올려서 한번 테스트 부탁드려요.

build.gradle 에서

compile(group: ‘com.remon’, name: ‘remondroid’, version: ‘0.2.59’)

으로 설정해도 같은 에러가 발생하는 것 같습니다.

multidex와 관련된 문제인 것 같은데요… fresco를 제가 다른 샘플앱에 multidex처리된 상태에서 추가하였을 경우 문제가 발생하지는 않았는데요…

저희가 샘플앱 이용해서 실행시 문제가 발생하는 프로젝트를 압축하였습니다. (아래 링크에서 다운 받으실 수 있습니다.)

https://s3.ap-northeast-2.amazonaws.com/myvaletbiz.com/android-sdk.zip

지난 4월 24일에도 같은 문의가 있었던 것으로 보여, 확인하시면 도움 될 것 같습니다.

위 링크 내용 바탕대로 작업하여 해결하였습니다.

build.gradle 에

ndk {
abiFilters “armeabi-v7a”, “x86”, “armeabi”, “mips”
}

을 넣고,

gradle.properties 에
android.useDeprecatedNdk=true

내용을 넣었더니 같은 에러가 발생하지 않네요. :slight_smile:

ㅜㅜ 감사합니다. 나중에 꼭 뵈어요. 서비스 성공하시구요.