Android 电报信使客户端赢得';添加领域库时无法工作

Android 电报信使客户端赢得';添加领域库时无法工作,android,android-studio,gradle,realm,telegram,Android,Android Studio,Gradle,Realm,Telegram,我正在存储库中制作电报信使的自定义版本:。我想在其中使用MPAndroidChart和realm,但当我通过在线存储库添加realm时,如下所示: 在渐变文件中: buildscript { repositories { jcenter() } dependencies { classpath "io.realm:realm-gradle-plugin:0.88.2" } } dependencies { compile

我正在存储库中制作电报信使的自定义版本:。我想在其中使用MPAndroidChart和realm,但当我通过在线存储库添加realm时,如下所示:

在渐变文件中:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath "io.realm:realm-gradle-plugin:0.88.2"
    }
}
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'
    }
}
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
在渐变模块文件中:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath "io.realm:realm-gradle-plugin:0.88.2"
    }
}
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'
    }
}
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
即使在像这样添加jar文件并编译和运行它时,我也会遇到下面的错误,当我没有添加已编译的c/c++依赖项时,我通常会遇到这个错误

compile files('realm_libs/realm-android-0.80.2.jar')
手动添加: 我已经在'realm_libs'文件夹中添加了与realm库相关的jar和pom文件,并在gradle依赖项中添加了以下行

compile files('realm_libs/realm-android-0.80.2.jar')
我遇到的错误:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath "io.realm:realm-gradle-plugin:0.88.2"
    }
}
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'
    }
}
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

项目清理成功,我对领域库导入没有问题,但当我在设备上运行它时,出现了错误。

问题是电报仅支持32位机器,领域应以32位模式编译。这可以通过使用域的旧版本()并按照此处的说明拆分构建来完成:

您必须从下载部分获得jar文件,以及eclipse目录中的4个文件夹,它们指示应将不同的体系结构添加到
src/main/jniLibs
目录中

应将以下内容添加到模块的build.gradle文件中:

android {
    // Some other configuration here...

    splits {
        abi {
            enable true
            reset()
            include 'x86', 'armeabi', 'armeabi-v7a', 'mips'
            universalApk false
        }
    }
} 

dependencies {
    compile files('libs/realm-android-0.87.4.jar')
}

问题是电报只支持32位机器,领域应该在32位模式下编译。这可以通过使用域的旧版本()并按照此处的说明拆分构建来完成:

您必须从下载部分获得jar文件,以及eclipse目录中的4个文件夹,它们指示应将不同的体系结构添加到
src/main/jniLibs
目录中

应将以下内容添加到模块的build.gradle文件中:

android {
    // Some other configuration here...

    splits {
        abi {
            enable true
            reset()
            include 'x86', 'armeabi', 'armeabi-v7a', 'mips'
            universalApk false
        }
    }
} 

dependencies {
    compile files('libs/realm-android-0.87.4.jar')
}

自0.88.0领域以来,渐变设置发生了变化。看见你不需要
编译'io.realm:realmandroid:0.88.2'
,但是
在你的应用程序的gradle中应用插件:'realmandroid'
。我找到了答案,我将在这里发布。问题是领域应该以32位模式编译,因为电报只支持32位机器。我按照这里的指示拆分构建来解决这个问题:自0.88.0领域以来,gradle设置发生了变化。看见你不需要
编译'io.realm:realmandroid:0.88.2'
,但是
在你的应用程序的gradle中应用插件:'realmandroid'
。我找到了答案,我将在这里发布。问题是领域应该以32位模式编译,因为电报只支持32位机器。我按照这里的指示,通过拆分构建来解决这个问题: