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要素にはこれ以外にもいろいろ追加できます。詳しくは他のエントリーを見てください。