私のアプリケーションではHere SDKとTwilio SDKが使用されています。両方ともネイティブライブラリを使用します(ここでは、/ libsおよび/ jniLibsフォルダからローカルにプラグインされたネイティブライブラリ、jCenterからプラグインされたTwilio SDK)。しかし、Android 5.1の場合、このライブラリは結果APKに存在しますが、ここでSDKは例外 "MISSING LIBRARIES:libMAPSJNI.so"をスローします。自分のプログラムがデバイスにインストールされているフォルダを開き、Twilio SDKの有無にかかわらず2つのケースでコンテンツを比較しました。違いは、接続されたTwilio APIフォルダ/ libがファイルであり、明白な理由のために、ローダはその内部を見ることができないため、ネイティブライブラリはここでSDKを初期化する必要があります。 Twilio gradle依存関係を削除すると、アセンブリは正常に実行されます。どのような理由とそれを修正する方法がありますか?必要であれば、私はこれらのlibsデバイスには存在しませんが、apkに存在するネイティブライブラリはありません
5
A
答えて
12
でテストプロジェクトを添付することができますが、このようなあなたのbuild.gradleを変更する必要があります
android {
(...)
splits {
abi {
enable true
reset()
include 'armeabi-v7a'
universalApk false
}
}
(...)
}
Twilio SDKは、x86をサポートし、HERE SDK現在、それをサポートしていないので、それはおそらくです。もしAPKs for each listed ABIを作成するためのGradleを伝えることができるsplits
ブロックを定義することによって
0
:
include "armeabi", "armeabi-v7a", "x86", "mips"
あるいは次のフィルタを追加することにより APKにすべての所望のABIを含むことができる。
android {
(...)
defaultConfig {
(...)
ndk {
// allow only 32bit *.so libs
abiFilters "armeabi", "armeabi-v7a", "x86", "mips"
}
}
}
どちらの方法でも、64ビット機能が混乱する可能性があります32ビットのHERE SDKがありますが、後者は1つのAPKでさらに多くのデバイスをサポートします。
いくつかのライブラリは、新しいAndroid Room Persistenceライブラリーのように、2つの64ビットABIフレーバーarm64-v8aとx86_64のと一緒に32ビットの味を追加します。現在のところHERE SDKは32ビットのlibしか提供していないので、64ビットのlibバリアントを除外することは安全です。一方、64ビットデバイスは32ビットのlibsを正常に処理することが期待されています。
関連する問題
- 1. .apkファイルはディスク上に存在しませんが、
- 2. テーブルは存在しませんが、存在しています
- 3. PIDはnetstatに存在しますが、タスクマネージャーには存在しません
- 4. デバイス「*」に* .apkをインストールできませんでした:ローカルパスは存在しません
- 5. Postgresデータベース "name"は存在しませんが、それはありません
- 6. ComboBoxはTKに存在しません
- 7. セッションクラスはParse.comに存在しません
- 8. マージステートメントには存在しませんか?
- 9. BlueJにjavax.microedition.io.fileは存在しません
- 10. フィットネスフィールドはDBに存在しません
- 11. iOSシミュレータのヘッダーファイルは存在しますが、iOSデバイスには存在しません...?
- 12. JDBCテーブルは存在しませんが、
- 13. Axiosインターセプタトークンヘッダーはconfigにありますが、リクエストヘッダーには存在しません
- 14. APKファイル/Users/...../app/build/outputs/apk/app-debug.apkはディスク上に存在しません
- 15. Javaにロケールが存在しません
- 16. インテリジェントにパッケージが存在しません
- 17. Assembly.GetExecutingAssemblyがPCLに存在しません
- 18. コレクションにdroolsが存在しません
- 19. HttpContext.GetGlobalResourceObjectがクラスライブラリに存在しません
- 20. プロパティプッシュが型に存在しません
- 21. サービスアカウントがGCPに存在しません
- 22. タイプサブスクリプションにキャッチが存在しません
- 23. プロパティがタイプに存在しません
- 24. ファイルがブランチに存在しません
- 25. Djangoにテンプレートが存在しません
- 26. が属性に存在しません
- 27. getHyperlinkがセルオブジェクトに存在しません
- 28. Azure AD:ユーザーがADimに存在する場合、アカウントは存在しません
- 29. は現在のコンテキストエラーに存在しませんが、ファインコンパイル
- 30. エラーTS2339:プロパティ 'split'は型 'string |に存在しません。 string [] 'プロパティ 'split'がタイプ 'string []'に存在しません
優れています。ありがとうございました。 – Lumen
こんにちはアルテム、ここTwilioコミュニティに飛び込んでくれてありがとう。私たちは感謝を共有するためにあなたにシャツを送ることができますか?詳細については、[email protected]まで電子メールを送ってください。 –
これは他のアーキテクチャにも当てはまりますが、ここでSDKはサポートしていません(arm64-v8aなど) – AndrewJC