web-dev-qa-db-ja.com

IDEサポートでCordovaプラグインプロジェクトを設定する方法は?

Cordovaプラグインプロジェクトのセットアップに苦労しています。主に以下の事実による:

  • プラグインは、メインプロジェクトとは別のフォルダーに配置する必要があります

  • たとえば、cordova build Androidプロジェクトをビルドするために、cordovaはJavaファイルをプラグインフォルダーからコピーし、platforms/Android/srcフォルダ。

  • したがって、Androidプロジェクトでプラグインの.Javaファイルを手動で変更しないでください。プラグインフォルダーにコードを記述する必要があります。

  • しかし、プラグインフォルダをIDEプロジェクトにインポートできないため、コード補完がありません。

  • IDEサポートなしでJava/Objective-Cを記述することは基本的に不可能です。

プラグイン開発用のコード補完を使用してIDE(たとえば、Android Studio)プロジェクトをセットアップするにはどうすればよいですか?

36
CarlLee

私が使用する傾向がある解決策は、受け入れられた回答でニコによって概説されたものに従います。ただし、プラグインを追加するときに--linkフラグを追加します。

cordova plugin add --link ../cordova-plugin-example

これは(少なくともMacおよびおそらくLinuxで)プラグインディレクトリをコピーする代わりにシンボリックリンクを作成します。次に、Androidプロジェクトの 'platforms/Android'内のAndroid Studioで実際にプラグインディレクトリ内のファイルを変更します。これにより、プラグインディレクトリは個別に(および独自のバージョン管理下で)プラグインの削除と追加は、少なくとも理論的には、プラグインへの変更を失わないようにする必要があります。

このアプローチは、iOSプラグインでも同様に機能するはずです。

--linkがWindowsマシンで機能するかどうか、またはどのように機能するかわからないことに注意してください。

ヒント:ヘルプでこのオプションを見つけました:

cordova help plugin

与えるもの:

     [...]
     [--link] ... when installing from a local path, creates a symbolic link to the plugin
                  instead of copying files. The extent to which files are linked vs copied
                  varies by platform. Useful for plugin development.
13
anty

Android Studio and Cordova Pluginには、はるかに簡単なソリューションがあります。Androidプラットフォームを追加した後、cordovaはAndroidプロジェクトをplatforms/AndroidおよびAndroidプロジェクトの下にcordovaプラグインフォルダーを作成できます。一度コマンドでプロジェクトにプラグインを追加します。したがって、Javaに別のプラグインを使用する必要はありません。先ほど言ったように、同じJava files:/ srcと/ PluginDevelopmentFolder。cordova build Androidは、Javaファイルを操作しません。確認のためにfileTreeを追加しました。

enter image description here

1
adnbsr

Cordovaプラグインの開発のためのさらに別のワークフローを提案したいと思います。このアプローチは、前述のワークフローと似ていますが、別個のテストアプリケーションを必要とせずにプラグインコードを+テスト+デバッグするための独立したプロジェクトが必要な点が異なります。

ワークフローの概要は次のようになります。

Step 1 - Prepare the Cordova platform.
1.1 Download Android release cordova-Android-x.y.z.Zip of the version you want from the github source site:
https://github.com/Apache/cordova-Android

1.2. Expand the archive, go to framework/ directory
1.3. create a local.properties file with contents: 'sdk.dir=/opt/Android-sdk'
     Adjust the path so that it points to the location of the Android SDK on your machine.
1.4. Execute: 'ant jar'
The result is a cordova-x.y.z.jar

Step 2 - Create/test the plugin with IDE support.
2.1. Create an empty Android project using Android Studio.
2.2. Copy the cordova-x.x.x.jar to the app/libs directory of your project.
2.3. Create the plugin code + unit tests (you have code completion and can build the code using the unit tests).
2.4. OPTIONAL If necessary you can add a webview and test the code inside the webview as described here
https://cordova.Apache.org/docs/en/latest/guide/platforms/Android/webview.html

Step 3 - Package plugin files.
3.1. Create a plugin project with plugman.
3.2. Copy the files from the development project into the plugin project
3.3. Deploy and reuse.

最後のステップ3は自動化できますが、私は個人的にこれを回避することはできませんでした。

1