2016-12-26 3 views
1

コードマンでプラグインコマンドを使用してプラグインを作成しましたcordovaアプリケーションにカスタムコードバプラグインを追加する方法

必要なファイルがすべて作成されました。次に、プラグインにアンドロイドプラットフォームを追加しました。

次に、私はcordovaアプリで追加しようとしました。私は正常にこれを追加しましたが、私はそれは私が間違って何をやっている次のエラーに

enter image description here

を与えているアプリを構築しようとしていたとき。コードワアプリでカスタムプラグインを追加する方法

以下は、.javaファイルのコードです。

package cordova-plugin-test-cordova-plugin; 

import org.apache.cordova.CordovaPlugin; 
import org.apache.cordova.CallbackContext; 

    import org.json.JSONArray; 
    import org.json.JSONException; 
    import org.json.JSONObject; 
     /** 
     * This class echoes a string called from JavaScript. 
    */ 
    public class TestCordovaPlugin extends CordovaPlugin { 

    @Override 
    public boolean execute(String action, JSONArray args, CallbackContext  callbackContext) throws JSONException { 
    if (action.equals("coolMethod")) { 
     String message = args.getString(0); 
     this.coolMethod(message, callbackContext); 
     return true; 
    } 
    return false; 
} 

private void coolMethod(String message, CallbackContext callbackContext) { 
    if (message != null && message.length() > 0) { 
     callbackContext.success(message); 
    } else { 
     callbackContext.error("Expected one non-empty string argument."); 
    } 
} 
} 

はここに私のplugin.xmlファイルである:エラーメッセージの最初の行から

 <?xml version='1.0' encoding='utf-8'?> 
     <plugin id="cordova-plugin-test-cordova-plugin" version="0.0.1" xmlns="http://apache.org/cordova/ns/plugins/1.0" xmlns:android="http://schemas.android.com/apk/res/android"> 
     <name>TestCordovaPlugin</name><js-module name="TestCordovaPlugin" src="www/TestCordovaPlugin.js"> 
<clobbers target="cordova.plugins.TestCordovaPlugin" /></js-module><platform name="android"> 
    <config-file parent="/*" target="res/xml/config.xml"><feature name="TestCordovaPlugin"> 
    <param name="android-package" value="cordova-plugin-test-cordova-plugin.TestCordovaPlugin" /> 
    </feature></config-file><config-file parent="/*" target="AndroidManifest.xml"></config-file> 
    <source-file src="src/android/TestCordovaPlugin.java" target-dir="src/cordova-plugin-test-cordova-plugin/TestCordovaPlugin" /> 
</platform> 
</plugin> 
+0

ここでサンプルを確認してください。https://github.com/santoshshinde2012/CordovaPluginSampleTest –

+0

更新された回答を確認してください –

答えて

4

私はあなたの参照からあなたのJavaコードには欠けていると思います。カスタムCordovaプラグインを作成するにはhereをご覧ください。

詳細については、hereをご確認くださいJavaファイルでパッケージ名の表記規則を確認してください。

ここでは、プラグインを作成してイオンアプリケーションにインストールする手順を示します。

ソースとサンプルを確認する場合はhereです。

コマンド:

  1. plugman --nameテストを作成するには
  2. --platform_nameアンドロイドplugmanプラットフォームのアドオンを追加cordova.plugin.test --plugin_version 0.0.1
  3. plugmanプラットフォームを--plugin_id --platform_name ios
  4. イオン開始IonicCordovaPluginTestApp blank
  5. (In App Dir)ionic plugin add [ローカルテストpl UGINパス]

    例: イオンプラグイン追加/ユーザ/ワークスペース/試験/ CordovaPluginSampleTest /テスト

  6. イオンプラットフォームは、AndroidまたはIOS

更新プラグインを追加します。xmlファイルを次のように

 <?xml version='1.0' encoding='utf-8'?> 
     <plugin id="cordova.plugin.test.cordova.plugin" version="0.0.1" xmlns="http://apache.org/cordova/ns/plugins/1.0" xmlns:android="http://schemas.android.com/apk/res/android"> 
     <name>TestCordovaPlugin</name> 
     <js-module name="TestCordovaPlugin" src="www/TestCordovaPlugin.js"> 
      <clobbers target="cordova.plugins.TestCordovaPlugin" /> 
     </js-module> 
     <platform name="android"> 
      <config-file parent="/*" target="res/xml/config.xml"> 
       <feature name="TestCordovaPlugin"> 
        <param name="android-package" value="cordova.plugin.test.cordova.plugin.TestCordovaPlugin" /> 
       </feature> 
      </config-file> 
      <config-file parent="/*" target="AndroidManifest.xml"></config-file> 
      <source-file src="src/android/TestCordovaPlugin.java" target-dir="src/cordova/plugin/test/cordova/plugin/TestCordovaPlugin" /> 
     </platform> 
     </plugin> 

これがあなたを手伝ってくれることを願っています!

+0

私は同じ手順に従ってプラグインを作成しました。 – anand

+0

大丈夫ですので、ディレクトリを作成できますか? –

+0

パッケージ名パッケージcodeova.plugin.test.cordova.pluginを変更してください。 –

2

、私はあなたのJavaソースコードに構文エラーがあると思います。 TestCordovaPlugin.javaファイルの最初の行にセミコロンがありませんでした。
単純な推測として、私はあなたがインポートステートメントの後にセミコロンを見逃したと思います。
解決策は、まずCordovaプロジェクトのJavaソースを直接変更してから、その変更をスタンドアロンプ​​ラグインに同期させることです。

+0

私はjavaファイルのコードを追加しました。私が見落としているものを見て更新してください – anand

0

あなたは一つのことを行うことができます。あなたはplugmanではなく別のコマンドすなわち

plugman create --name AmILate --plugin_id cordovapluginamilate --plugin_version 0.0.1 

で再び、このプラグインを作成してから、もう一度同じ手順に従うことができます。

私はこれを正しく使用している、それが に動作しますが、私はJavaScriptとJavaのクラスとcordovapluginamilateにMyMethodは名前の別の関数を作るとき、私はgithubのhttps://github.com/vishuhanda001/cordovaaddcustomplugin

の上でプラグインの私のコードを共有しています custom plugin error

としてエラーが発生しました

coolMethodにコメントしましたが、代わりにjavascriptとjavaファイルでmyMethodを使用しようとしましたが、アクセスしている間に上記のエラーが発生しましたが、coolMethodプラグインでcoolmethod関数のみが動作しています。

関連する問題