現在、cordova2.0を使用してAndroidアプリを開発しています。明らかに、plugins.xmlは減価償却され、すべてがconfig.xmlに格納されています。PhonegapスクリーンショットプラグインをEclipseで動作させ、Cordova2.0をAndroidで動作させることができたのではないかと思っていました。
プラグインは見つけることができます:
https://github.com/josemando/phonegap-plugins/tree/master/Android/Screenshot
私が追加しました:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
私のAndroidマニフェストxmlに。そして、それを確認しました:
<plugin name="Screenshot" value="org.apache.cordova.Screenshot"/>
config.xmlに追加されました(plugin.xmlからのすべてのプラグイン情報が含まれるようになりました)
Screenshot.jsがディレクトリに追加されます。
assets/www/js/
ただし、Screenshot.javaファイルを正確に配置する場所がわかりません。例には次のようなものがあります。
src / org / apache / cordova /
ただし、このディレクトリがなかったため、次の場所に配置しました。
src/uk.co..appname1.appname2/
ただし、これを実行するとエラーが発生しました。最初のエラーは次のとおりです。
The declared package "org.apache.cordova" does not match the expected package "uk.co.mysitename.appname1.appname2" Screenshot.java /Project Name/src/uk/co/mysitename/appname1/appname2line 8 Java Problem
これは、Screenshot.jsの次の行を参照しています。
package org.apache.cordova;
これを修正するために提案された2つのアクションは次のとおりです。
- 'Screenshot.java'をパッケージ'org.apache.cordova'に移動します(このディレクトリはatmに存在しません)
- または、パッケージディレクトリを「uk.co.mysitename.appname1.appname2」に変更します
2番目のエラーは次のように述べています。
The method run() of type new Runnable(){} must override a superclass method
これに対して推奨されるアクションは、「'@override'アノテーションを削除する」ことです。
私はこれらの可能なすべての組み合わせをしようとしましたが、進歩を遂げてすべてをリンクさせることができないようです。通常、CordovaRefが参照されていないと見なされるためです。プラグインがCordova2.0.0でも機能するかどうかはわかりません。Phonegap / Cordovaの使用経験はありますが、XcodeおよびObjectiveCプラグインを使用したiOSでのみ使用できます。私はJava、Eclipse、Androidを初めて使用します。これらの問題のいずれかに関するヘルプまたは説明をいただければ幸いです。