Urban-airship cordova プラグイン ( phonegap-ua-push ) と Facebook プラグイン ( phonegap-facebook-plugin ) を使用しようとしていますが、次のエラーに直面しています:
複数の dex ファイルで Landroid/support/annotation/AnimRes を定義
これは、facebook の android-support-v4 と phonegap-ua-push が異なる support-v4 バージョンでコンパイルされているため、衝突が原因のようです。
dependencies {
compile 'com.android.support:cardview-v7:22.2.0'
compile 'com.android.support:support-v4:22.2.0'
compile 'com.google.android.gms:play-services-location:7.5.0'
compile 'com.google.android.gms:play-services-gcm:7.5.0'
compile 'com.urbanairship.android:urbanairship-sdk:6.1.3'
}
phonegap-ua-push の依存関係を更新して、それが依存している support-v4 を除外しようとしました。Facebook の依存関係と連携できることを期待しています。これが私がそれをした方法です:
dependencies {
compile ('com.android.support:cardview-v7:22.2.0') {
exclude module: 'support-v4'
}
compile ('com.google.android.gms:play-services-location:7.5.0') {
exclude module: 'support-v4'
}
compile ('com.google.android.gms:play-services-gcm:7.5.0') {
exclude module: 'support-v4'
}
compile ('com.urbanairship.android:urbanairship-sdk:6.1.3') {
exclude module: 'support-v4'
}
}
しかし、アプリがプッシュ通知を受信すると、アプリがクラッシュします.logcat からの例外は次のとおりです。
E/AndroidRuntime(24095): java.lang.NoSuchMethodError: 仮想メソッドがありません setColor(I)Landroid/support/v4/app/NotificationCompat$Builder; クラス Landroid/support/v4/app/NotificationCompat$Builder 内。またはそのスーパークラス (「android.support.v4.app.NotificationCompat$Builder」の宣言が /data/app/com.****.****-1/base.apk に表示されます)
Facebookとurbanairshipの両方のプラグインを使用できるようになった人はいますか?
編集: ralepinski が言ったように、android-support-v4.jar を platform/android/FacebookLib/libs/ フォルダーから削除しようとしましたが、そうすると、次のエラーのトーンがあります。
FacebookLib/src/com/facebook/AppEventsLogger.java:24: エラー: パッケージ android.support.v4.content が存在しません import android.support.v4.content.LocalBroadcastManager; ...
彼が android-support-v4 を見つけることができないと私に言うのは難しいと思います
次の行として FacebookLib の build.gradle があるため、これは私には意味がありません。
dependencies {
compile 'com.android.support:support-v4:[20,21)'
compile 'com.parse.bolts:bolts-android:1.1.2'
}
したがって、android-support-v4 が必要であることを理解できるはずです。私はおそらくここで何かを見逃しています..
私もandroid-support-v4をphonegap-ua-push、android-support-v4-22.2.0で使用されているものに置き換えようとしましたが、シンボルが不足しているようです:
エラー: シンボル FragmentManagerImpl mFragmentManager が見つかりません。
エラー: シンボル FragmentManagerImpl mChildFragmentManager が見つかりません。