私は、リポジトリのテレグラムメッセンジャーのカスタムバージョンで作業しています:https://github.com/DrKLO/Telegram。 Gradleのモジュールファイルでレルムライブラリーを追加すると、テレグラムメッセンジャークライアントは機能しません。
buildscript {
repositories {
jcenter()
}
dependencies {
classpath "io.realm:realm-gradle-plugin:0.88.2"
}
}
:
のGradleファイルで:私はこのようなオンラインリポジトリでレルムを追加するとき、私はそれにMPAndroidChartとレルムを使用したいが、
dependencies { compile 'io.realm:realm-android:0.88.2' } repositories { maven { url "https://jitpack.io" } maven { // this is for realm-db url 'http://oss.jfrog.org/artifactory/oss-snapshot-local' } }
このようなjarファイルを追加してコンパイルして実行しても、コンパイル済みのc/C++依存関係を追加していないときに私が以前に遭遇したエラーが発生します。
を手動で追加する: を私は「realm_libs」フォルダレルムライブラリつま先に関連するJARファイルとポンポンファイルを追加し、依存関係をGradleのために以下の行を追加しました。
compile files('realm_libs/realm-android-0.80.2.jar')
私が遭遇したエラー:
E/art: dlopen("/data/data/org.telegram.messenger.beta/files/lib/libtmessages.17loc.so", RTLD_LAZY) failed: dlopen failed: "/data/data/org.telegram.messenger.beta/files/lib/libtmessages.17loc.so" is 32-bit instead of 64-bit
E/art: dlopen("/data/data/org.telegram.messenger.beta/files/lib/libtmessages.17loc.so", RTLD_LAZY) failed: dlopen failed: "/data/data/org.telegram.messenger.beta/files/lib/libtmessages.17loc.so" is 32-bit instead of 64-bit
E/art: No implementation found for void org.telegram.tgnet.ConnectionsManager.native_setJava(boolean) (tried Java_org_telegram_tgnet_ConnectionsManager_native_1setJava and Java_org_telegram_tgnet_ConnectionsManager_native_1setJava__Z)
E/AndroidRuntime: FATAL EXCEPTION: main
Process: org.telegram.messenger.beta, PID: 13900
java.lang.UnsatisfiedLinkError: No implementation found for void org.telegram.tgnet.ConnectionsManager.native_setJava(boolean) (tried Java_org_telegram_tgnet_ConnectionsManager_native_1setJava and Java_org_telegram_tgnet_ConnectionsManager_native_1setJava__Z)
at org.telegram.tgnet.ConnectionsManager.native_setJava(Native Method)
at org.telegram.messenger.ApplicationLoader.onCreate(ApplicationLoader.java:268)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1017)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4938)
at android.app.ActivityThread.access$1500(ActivityThread.java:182)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1576)
at android.os.Handler.dispatchMessage(Handler.java:111)
at android.os.Looper.loop(Looper.java:194)
at android.app.ActivityThread.main(ActivityThread.java:5717)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:959)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:754)
I/Process: Sending signal. PID: 13900 SIG: 9
プロジェクトが成功裏にきれいにし、私は、レルムライブラリの輸入には問題がないが、私は、デバイス上でそれを実行すると、エラーがoccures。
、Gradleの設定が変更されました。 https://realm.io/docs/java/latest/#installationを参照してください。あなたは 'compile 'io.realm:realm-android:0.88.2''を必要としませんが、' apply plugin:' realm-android''をあなたのアプリケーションのgradleに入れます。 – beeender
私は答えを見つけた、私はここに投稿するつもりです。問題は、テレグラムは32ビットマシンしかサポートしていないため、レルムは32ビットモードでコンパイルする必要があるということです。私は、ここで指示されたようにビルドを分割することでそれを世話しました:http://realm.io/news/reducing-apk-size-native-libraries/ –