私は2つのCordovaプラグインを使用しようとしていますが、両方ともアプリケーションのAndroid:名前を設定する必要があります。Cordova App - 複数アプリケーションAndroid:名前
プラグイン: https://github.com/CleverTap/clevertap-cordovaと https://github.com/taivo/parse-push-plugin
他の類似の記事に続いては、私はMainApplicationファイルを作成し、新しい公共のクラスに2つのプラグインを拡張しようとしました。私はこれで素人ですので、ビルドしようとすると次のエラーメッセージが表示されているので間違っています。
MainApplication.java:8: error: class CleverTapPlugin is public, should be declared in a file named CleverTapPlugin.java
public class CleverTapPlugin extends Application {
MainApplication.java:12: error: class ParsePushApplication is public, should be declared in a file named ParsePushApplication.java
public class ParsePushApplication extends CleverTapPlugin {
MainApplication.java:4: error: ParsePushApplication is already defined in this compilation unit
import github.taivo.parsepushplugin.ParsePushApplication;
MainApplication.java:5: error: CleverTapPlugin is already defined in this compilation unit
import com.clevertap.cordova.CleverTapPlugin;
は、ここに私のMainActivityファイルです:
package com.example.app;
import android.app.Application;
import github.taivo.parsepushplugin.ParsePushApplication;
import com.clevertap.cordova.CleverTapPlugin;
public class CleverTapPlugin extends Application {
}
public class ParsePushApplication extends CleverTapPlugin {
}
public class MainApplication extends ParsePushApplication {
}
それは私がこれらのエラーメッセージを取得していますが、私は私が何か間違ったことをしたと確信しているので、私のMainActivityは、ビルドで正しく呼び出されているようです。何か案は?
なぜこのプラグインを拡張しますか?つまり、そのプラグインを追加してhtml内で使用するだけです。 –
@ JorgeManuelBelloはい通常はプラグインには正しいが、両方のプラグインはネイティブクラッシュを引き起こすか、アプリケーションandroid:nameに追加されていないと正常に動作を追跡しないため、両方を正しく機能させるために拡張する必要がある。 –
エラーは、各クラスを別々のファイルに宣言する必要があると言っています。とにかく、プラグインはコードバクラスを拡張し、特別なメソッドを実装します。そのクラスを拡張する予定の場合は、そのクラスを拡張してそれらのメソッドを実装し、それらの新しいファイルをそのプラグインxmlに再度追加する必要があります –