Ich arbeite an einer benutzerdefinierten Version des Telegram Messenger im Repository: https://github.com/DrKLO/Telegram. Ich möchte es MPAndroidChart und Reich verwenden, aber wenn ich fügen Sie den Bereich von Online-Repositories wie folgt aus:Telegram Messenger-Client funktioniert nicht, wenn ich Realm-Bibliothek hinzufügen
In der gradle Datei:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath "io.realm:realm-gradle-plugin:0.88.2"
}
}
Im gradle Modul-Datei:
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'
}
}
Und selbst wenn ich die JAR-Datei wie folgt hinzufügen und kompilieren und ausführen, stoße ich auf den Fehler, den ich gemacht habe, als ich die kompilierten C/C++ - Abhängigkeiten nicht hinzugefügt habe.
Manuelles Hinzufügen: Ich habe das Glas und pom-Datei im Zusammenhang mit Reich Bibliothek toe die ‚realm_libs‘ -Ordner und hinzugefügt, um die folgenden Zeilen Abhängigkeiten hinzugefügt Gradle.
compile files('realm_libs/realm-android-0.80.2.jar')
Der Fehler Ich begegne:
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
Das Projekt reinigt erfolgreich und ich habe kein Problem mit dem Bereich Bibliothek Importe aber wenn ich es auf einem Gerät laufen die Fehler occures.
Seit Realm 0.88.0, änderte sich die Einstellung gradle. Siehe https://realm.io/docs/java/latest/#installation. Sie brauchen nicht 'kompilieren' io.realm: realm-android: 0.88.2'', sondern 'apply plugin: 'realm-android' in der App-Größe. – beeender
Ich habe die Antwort gefunden, ich werde es hier posten. Das Problem ist, dass Realm im 32-Bit-Modus kompiliert werden sollte, da Telegram nur 32-Bit-Maschinen unterstützt. Ich habe mich darum gekümmert, indem ich die Builds wie hier beschrieben aufgeteilt habe: http://realm.io/news/reducing-apk-size-native-libraries/ –