0

我已将 Telegram 集成到我的一个应用程序中。它在许多设备和 Android 版本上运行良好,但在 Android 4.4、三星 Galaxy S3 上崩溃。

我得到的错误日志是:

org/telegram/SQLite/SQLitePreparedStatement
        java.lang.Runtime.nativeLoad(Native Method)
        java.lang.Runtime.doLoad(Runtime.java:421)
        java.lang.Runtime.loadLibrary(Runtime.java:362)
        java.lang.System.loadLibrary(System.java:526)
        org.telegram.android.NativeLoader.initNativeLibs(NativeLoader.java:196)
        org.telegram.messenger.ApplicationLoader.onCreate(ApplicationLoader.java:188)
        android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1007)
        android.app.ActivityThread.handleBindApplication(ActivityThread.java:4368)
        android.app.ActivityThread.access$1500(ActivityThread.java:138)
        android.app.ActivityThread$H.handleMessage(ActivityThread.java:1296)
        android.os.Handler.dispatchMessage(Handler.java:102)
        android.os.Looper.loop(Looper.java:149)
        android.app.ActivityThread.main(ActivityThread.java:5045)
        java.lang.reflect.Method.invokeNative(Native Method)
        java.lang.reflect.Method.invoke(Method.java:515)
        com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:794)
        com.android.internal.os.ZygoteInit.main(ZygoteInit.java:610)
        dalvik.system.NativeStart.main(Native Method)

Caused by:
    java.lang.ClassNotFoundException: Didn't find class "org.telegram.SQLite.SQLitePreparedStatement" on path: DexPathList[[zip file "/system/framework/com.google.android.maps.jar", zip file "/data/app/com.bcd.app-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.bcd.app-1, /vendor/lib, /system/lib, /system/lib/arm]]
        dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
        java.lang.ClassLoader.loadClass(ClassLoader.java:497)
        java.lang.ClassLoader.loadClass(ClassLoader.java:457)
        java.lang.Runtime.nativeLoad(Native Method)
        java.lang.Runtime.doLoad(Runtime.java:421)
        java.lang.Runtime.loadLibrary(Runtime.java:362)
        java.lang.System.loadLibrary(System.java:526)
        org.telegram.android.NativeLoader.initNativeLibs(NativeLoader.java:196)

有什么帮助吗?

4

1 回答 1

0

毕竟,正如上面的错误,在本机源代码中存在命名问题,可能是由于项目包名的更改引起的。您应该更改所有本机源代码中的包名称,然后重新构建它。在路径中替换jni文件夹中的以下两种情况:

Java_org_telegram_
org/telegram/

使用命名包的风格,如下例所示:

Java_org_telegram_example_
org/telegram/example/

在上面的例子中,包名是:

org.telegram.example.messenger
于 2015-09-30T23:13:09.973 回答