web-dev-qa-db-ja.com

PhoneGap 3プラグイン:不明なプラグイン「...」へのexec()呼び出し

プラグインをv3にアップグレードしようとしていますが、プラグインの読み込みの問題を乗り越えることができ、プラグインをクライアント環境に公開することができました(execの動作方法を変更するなど)。

しかし、adblogcatを

_adb logcat | grep -v nativeGetEnabledTags | grep -i web_

このエラーが発生します:

D/PluginManager(11189): exec() call to unknown plugin: WebSocket

何が問題になっているのか理解できず、Androidビルドがプラグインを認識できない理由がわかりません。

私はすべてのコードをgithubリポジトリにプッシュしたので、誰かが複製して助けてくれるなら、私は大歓迎です!また、変換の経験を書き留めて、落とし穴にぶつかったときにログに記録しようとしています(readmeにいくつかありますが、不完全です)。

リポジトリは次のとおりです: https://github.com/remy/phonegap_test

–レミー

19
Remy Sharp

「res/xml /config.xml」でプラグインを定義します

ファイルでこれらの行を見つけます

<feature name="App">
        <param name="Android-package" value="org.Apache.cordova.App" />
</feature>

次の直後にこれらを追加します。

<feature name="MyPluginName">
        <param name="Android-package" value="com.phonegap.plugins.plugin.class" />
</feature>

ダミー名(MyPluginName、plugins.plugin.classなど)を実際の名前に置き換えます。これは、このエラーが発生したときに機能します。

不明なプラグインへのexec()呼び出し:MyPluginName

28
Sandeep Kumar

電話ギャップビルド(2.6)で突然同じ問題が発生します。同じ正確なコードが以前に機能したため、ビルドの問題である必要があります。

APKを開いて、config.xmlが含まれているかどうかを確認しましたか(プラグインが定義されている場所があります)。

2
nurieta

Android Studio 1.0.1(Mac OS 10.9.5で実行)+ Cordova 4.2.0で、同様の問題(「不明なプラグインへのexec()呼び出し」)を次のように修正しました。

タグの内容は次のとおりです。

<feature name="MyPluginName">
<param name="Android-package" value="com.phonegap.plugins.plugin.class" />
</feature>

YourCordovaProjectName/config.xmlの下でYourCordovaProjectName/platform/Android/res/xml/config.xmlの下で複製されませんでした

YourCordovaProjectName/platforms/Android/res/xml /の下のファイルconfig.xmlを変更し、タグを追加する必要がありました。

    <feature name="MyPluginName">
    <param name="Android-package" value="com.phonegap.plugins.plugin.class" />
    </feature>

それからそれは働いた。

また、IOSでも同じ問題が発生したため、手動で入力する必要があったことも付け加えておきます。

<feature name="MyPluginName">
<param name="ios-package" value="com.phonegap.plugins.plugin.class" />
</feature>

フォルダの下のconfig.xmlファイル内YourCordovaProjectName/platforms/ios/YourCordovaProjectName

うまくいけば、それは将来修正され、YourCordovaProjectName/config.xmlの内容が各特定のプラットフォームの下にあるconfig.xmlファイルに正しく反映されます(以前はAndroid数ヶ月前)。

1
nyluje

Android ProjectFolder/platform/Android/res/xml/config.xmlの下にプラグイン定義を追加するには、ProjectFolder/plugins /Android.jsonを更新します

「cordovabuild」コマンドは、このAndroid.jsonファイルを読み取り、ProjectFolder/platform/Android/res/xml /config.xmlをここに記載されているすべてのプラグインで自動的に更新します。

1
Srihari

Devicereadyイベントは成功していますか?過去に、コード内の他の理由でアプリがサイレントに失敗し、devicereadyイベントが発生しなかったときに、このエラーが発生しました。私の場合、サイレントエラーは、app.initialize()コードブロックのJavaScript構文エラーが原因でした。

0
Chris Emerson