uniapp がサードパーティ SDK を含むネイティブ プラグインを呼び出すと、NoClassDefFoundError がスローされます

問題:サードパーティの SDK を含むネイティブ プラグインを呼び出すと、 uniapp がNoClassDefFoundError例外をスローします。

私のネイティブ プラグインは、common-net プラグインを使用して自分でパッケージ化した *.arr ファイルであるため、Make Module の実行後に uniapp プロジェクトで参照され、カスタム ベースをパッケージ化するときに例外がスローされますNoClassDefFoundError

解決

module -> telnet -> build.gradle を次のように変更しますcompileOnlycommons-net-3.8.0.jar より前のコードを参照していますimplementation

dependencies {
    compileOnly fileTree(include: ['commons-net-3.8.0.jar'], dir: './libs') //引如的第3方插件,将compileOnly修改为implementation
}

変更後:

dependencies {
    implementation fileTree(include: ['commons-net-3.8.0.jar'], dir: './libs')
}

図に示すように、
ここに画像の説明を挿入
次にモジュールを再作成し、プロジェクトをインポートします。

注意:私のプラグインはcommons-net-3.8.0.jar ローカルライブラリに導入されていますが、uniappプロジェクトではnativeplugins→telnet→package.jsonでdependencies依存ライブラリを追加せず、個人テストが有効です。

参考: uniapp がサードパーティ SDK を含むネイティブ プラグインを呼び出すと NoClassDefFoundError がスローされる

その他の解決策: uniapp の Android プラグイン開発を参照し、サードパーティ ライブラリの NoClassDefFoundError 問題を紹介します。

おすすめ

転載: blog.csdn.net/weixin_41767649/article/details/124378765