0

アプリの 1 つに Telegram を統合しました。多くのデバイスと Android バージョンでは正常に動作しますが、Android 4.4、Samsung 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フォルダー内の次の 2 つのケースのパスを置き換えます。

Java_org_telegram_
org/telegram/

以下の例のように、パッケージに名前を付けるスタイルを使用します。

Java_org_telegram_example_
org/telegram/example/

上記の例では、パッケージ名は次のとおりです。

org.telegram.example.messenger
于 2015-09-30T23:13:09.973 に答える