Cordova-plugin-firebase: Androidのビルドエラー

作成日 2018年08月20日  ·  5コメント  ·  ソース: arnesson/cordova-plugin-firebase

コルドバ7.0.1
[email protected]

アプリを[email protected]から@ 6.3にアップグレードする必要がありました。再構築中にプラグインを追加し、再コンパイルし、エラーまたは警告を確認してから、次のプラグインに進みます。

約30個のプラグインが正常にインストールされたので、特定のバージョンのAndroid-SDKとPlayサービスバージョンを必要とするプラグインにたどり着き始めました。

私はこれらを最初にインストールします:

cordova plugin add cordova-android-play-services-gradle-release  --variable PLAY_SERVICES_VERSION=15.+  //REM (ver 1.4.3)
cordova plugin add cordova-android-support-gradle-release //REM (ver 1.4.4)

次に、以下をインストールして警告が表示されますが、それでも正常にコンパイルされます。
cordova plugin add cordova-plugin-request-location-accuracy //REM 2.2.3
警告のコンパイル:

C:\Users\RPO\dev\Whipster_0.2.5\platforms\android\build\intermediates\exploded-aar\com.google.android.gms\play-services-base\15.0.1\jars\classes.jar(com/google/android/gms/common/api/GoogleApiClient.class): warning: Cannot find annotation method 'value()' in type 'GuardedBy': class file for javax.annotation.concurrent.GuardedBy not found

最後に、 cordova-plugin-firebase (v1.0.5)をインストールすると、ビルドが失敗する原因となる次の警告が表示されます。

C:\Users\RPO\dev\Whipster_0.2.5\platforms\android\build\intermediates\exploded-aar\com.google.firebase\firebase-common\16.0.1\jars\classes.jar(com/google/firebase/FirebaseApp.class): warning: Cannot find annotation method 'value()' in type 'GuardedBy'
C:\Users\RPO\dev\Whipster_0.2.5\platforms\android\build\intermediates\exploded-aar\com.google.firebase\firebase-iid\17.0.0\jars\classes.jar(com/google/firebase/iid/FirebaseInstanceId.class): warning: Cannot find annotation method 'value()' in type 'GuardedBy'
C:\Users\RPO\dev\Whipster_0.2.5\platforms\android\build\intermediates\exploded-aar\com.google.firebase\firebase-iid\17.0.0\jars\classes.jar(com/google/firebase/iid/FirebaseInstanceId.class): warning: Cannot find annotation method 'value()' in type 'GuardedBy'
C:\Users\RPO\dev\Whipster_0.2.5\platforms\android\build\intermediates\exploded-aar\com.google.firebase\firebase-config\16.0.0\jars\classes.jar(com/google/firebase/remoteconfig/FirebaseRemoteConfig.class): warning: Cannot find annotation method 'value()' in type 'GuardedBy'
C:\Users\RPO\dev\Whipster_0.2.5\platforms\android\build\intermediates\exploded-aar\com.google.firebase\firebase-crash\16.0.1\jars\classes.jar(com/google/firebase/crash/FirebaseCrash.class): warning: Cannot find annotation method 'value()' in type 'UsedByReflection': class file for com.google.android.apps.common.proguard.UsedByReflection not found
C:\Users\RPO\dev\Whipster_0.2.5\platforms\android\build\intermediates\exploded-aar\com.google.firebase\firebase-crash\16.0.1\jars\classes.jar(com/google/firebase/crash/FirebaseCrash.class): warning: Cannot find annotation method 'value()' in type 'UsedByReflection'
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
7 warnings

そして、ビルドは失敗します:

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':transformClassesWithDexForDebug'.
> com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.dex.DexException: Multiple dex files define Lcom/google/android/gms/internal/measurement/zzkt;
build android

全てのコメント5件

cordova cleanを試しましたが、役に立ちませんでした。 このFirebaseの問題が解決されるまで、プロジェクトはスタックしました。

@rolingerは、 READMEに記載されているように、新しいプラグインcordova-android-firebase-gradle-releaseをインストールしてみてください

READMEの更新された手順に従って修正されたとおりに終了し

私はついに、cordova-plugin-firebase 1.0.5を使用して、Cordova8.0とcordova-android7.1.1ですべてをインストールすることができました。

参考までに、cordova androidプラットフォームのバージョン6.3.0を使用していることに気付くまで、この問題が発生していました。このプラグインは現在6.4.0以降をサポートしています。 アップグレードすると、問題なく動作しました。

このページは役に立ちましたか?
0 / 5 - 0 評価