モケラ

Tech Sheets

mokelab

plugin.xmlにクラスを追加する

最終更新日:2015-08-14

Cordova Android Pluginクラスを作るで作成したクラスは、cordova.exec()で呼べるようにするためにplugin.xmlに追加する必要があります。

MyPlugin.javaファイルをプラグインのフォルダに移動させる

場所は後で指定するので、とりあえずsrc/androidフォルダを作成し、そこにいれることにします。

plugin.xmlにandroid用の記述を追加する

plugin要素の子に、<platform name="android">を追加します。

<plugin xmlns="http://apache.org/cordova/ns/plugins/1.0"
        id="my-plugin"
        version="0.0.1">
  <!-- 中略 -->
  <platform name="android">
    <source-file src="src/android/MyPlugin.java" target-dir="src/com/mokelab/cordova/plugins/" />
      <config-file target="res/xml/config.xml" parent="/*">
        <feature name="MyService">
          <param name="android-package" value="com.mokelab.cordova.MyPlugin"/>
        </feature>
      </config-file>
  </platform>
</plugin>

platform要素の子には、最低でもsource-fileとconfig-fileをいれます。

source-fileは、どのソースファイルをどこに配置するかを指定します。target-dirによる違いはまだ追えてません。。。

次に、config-fileでAndroidのres/xml/config.xmlファイルにエントリーを追記します。この記述が無いとJavaScriptからの呼び出しができません。

追加するエントリーを見てみましょう。

<feature name="MyService">
     <param name="android-package" value="com.mokelab.cordova.MyPlugin"/>
</feature>

feature要素で、サービス名を指定します。ここで指定した名前がcordova.exec()の第3引数で指定する名前になります。子のparam要素で、実際にどのクラスが担当するかをFQDNで指定します。

platform要素にはこれ以外にもいろいろ追加できます。詳しくは他のエントリーを見てください。

一覧に戻る