1)特定のクラス/jar/何かがapkにパッケージ化されているかどうかを確認する信頼できる方法。現在、アプリでこのポイントに到達するための手順は長く複雑です
コマンドラインからプロジェクトをビルドします (つまり、mvn clean install)。maven は、ビルドのすべての単一フェーズ/ゴールで詳細なログを出力します。dex ゴールでは、次のように表示されます。
[INFO] --- android-maven-plugin:3.1.1:dex (default-dex) @ myproject ---
[INFO] C:\Program Files\Java\jdk1.6.0_21\jre\bin\java [- Xmx1024M、-jar、C:\Program Files\Android\android-sdk-r16\platform-tools\lib\dx.jar、--dex、--output=C:\workspace\myproject\target\classes.dex 、C:\workspace\myproject\target\classes、C:\maven\repository\cocos2d_android\cocos2d_android\1.0.0-SNAPSHOT\cocos2d_android-1.0.0-SNAPSHOT.apklib、C:\maven\repository\com\google\コード\gson\gson\1.7.1\gson-1.7.1.jar, ... ...]
Android ライブラリ プロジェクトは、実際には cocos2d_android-1.0.0-SNAPSHOT.apklib として、他の通常の jar ライブラリ アーカイブとともに dex 化されています。
2) メイン アプリまたはライブラリ プロジェクトのいずれかのマニフェストまたは pom.xml 内の何かが欠落しているようです - この他のプロジェクトを選択するように Maven に通知するために必要な何か - それは何ですか?
これは、Android ライブラリ プロジェクト (src/、res/、AndroidManifest.xml など) の単純な zip アーカイブである ApkLib です。通常、依存する Android プロジェクトをマルチモジュール Maven プロジェクトとして独自の Android ライブラリ プロジェクトを作成/実装しますが、他の開発者によって作成された Android ライブラリ プロジェクトを参照する必要がある場合は、これは必要ありません。開発者のおかげで、android-maven-plugin はすでに Maven 以外の Android ライブラリ プロジェクトをサポートしています。Maven 以外の Android ライブラリ プロジェクトとの互換性 を確認してください。
生成された .apklib ファイルには、標準の Android/Eclipse ライブラリ プロジェクトのレイアウトが含まれます。これは、Maven レイアウトに関係なく、.apklib ファイル内のレイアウトは、ソース コードが「src/main/java/」ではなく「src/」にあることを意味しますが、Android/Maven アプリケーションで使用すると正しく解釈されます。事業。これは、Maven 以外の開発者のライブラリ プロジェクトと互換性を持つためのものであり、Android 開発者コミュニティを成長させるために重要です。
他の非 Maven 開発者のライブラリを使用する
また、(Maven 以外の開発者からの) 外部 Android ライブラリ プロジェクトの zip ファイルを取得し、その上で mvn install:install-file ... を実行して、依存関係として使用を開始できることも意味します。
.apklib を Maven 以外の開発者と共有する
.apklib ファイルを Maven 以外の開発者と共有するには、名前を .zip に変更した方が快適に感じるでしょう。その後、単純にディレクトリに解凍して、そこから使用できます。
したがって、回避策は次のとおりです。
Android ライブラリ プロジェクトを適切に zip アーカイブにパックし、名前を something.apklib に変更します。
mvn install:install-file を使用して、something.apklib を Maven ローカル リポジトリにインストールします。
ライブラリの依存関係を必要とする Android プロジェクトでは、以下を使用するだけです。
<dependency>
<groupId>cocos2d_android</groupId>
<artifactId>cocos2d_android</artifactId>
<version>1.0.0-SNAPSHOT</version>
<type>apklib</type>
</dependency>
android-maven-plugin ウェブサイトのサンプルをチェックして、apklib を適切に使用する方法を確認してください。