10

私は Android アプリ プロジェクトに取り組んでおり、それは Maven プロジェクトです。「maven install」として実行しようとすると、次のようになります。

「プロジェクト android-client でゴール com.jayway.maven.plugins.android.generation2:android-maven-plugin:3.1.1:generate-sources (default-generate-sources) を実行できませんでした: Android SDK パスが見つかりませんでした. pom ファイルのプラグイン構成セクションで ... または ... を使用するか、コマンドラインで -Dandroid.sdk.path=... を使用するか、環境変数 ANDROID_HOME -> [Help 1] を設定して構成できます。 "

android_home パスを pom.xml にハードコーディングすると正常に動作しますが、git を使用すると、誰もが android_home のパスが異なる可能性があります。Eclipse で android-maven-plugin が環境変数を取得しないのはなぜですか?

android_home 環境変数は私の PATH にあります。pom.xml に ${env.ANDROID_HOME} を書きましたが、それでも機能しませんでした。

奇妙なことに、端末 (mvn install) を使用して maven install として実行すると、動作します!

実際、これは私にとって非常にオプションの問題ですが、それでもこのプラグインが Eclipse で機能しない理由を知りたいです。

4

9 に答える 9

5

ANDROID_HOMELinux を使用している場合、での のエクスポートが機能し.bashrcない場合があります。

export ANDROID_HOME=/home/toro/etc/android-sdk-linux

私にとっては、次のようにファイルにエクスポートANDROID_HOMEする場合にのみ機能します。/etc/environment

ANDROID_HOME=/home/toro/etc/android-sdk-linux

機能させるには、コンピューターを再起動する必要があります。

環境変数をシステム全体に適用するには、ログアウトしてから再度ログインするだけです。必要に応じて、ローカルでソースを取得して、それを行う前にテストすることもできます。$source /etc/environment

于 2013-06-12T20:00:30.097 に答える
4

ANDROID_HOMEのシステム変数を作成する必要がありますが、PATHに設定する必要はありません。

于 2012-07-10T15:14:44.813 に答える
3

コマンドラインで、次を実行します。

mvn clean install -- Dandroid.sdk.path="/Applications/Android Studio.app/sdk/"

他の方法はどれも実際には機能しませんでした。(設定ANDROID_HOMEは何もしません)

于 2013-08-21T20:51:43.767 に答える
1

ドキュメントから

環境変数を使用するか、コマンドラインで またはを使用して、ファイルのandroid-maven-plugin構成セクションで構成できます。pom.xml<sdk><path>...</path></sdk><properties><android.sdk.path>...</android.sdk.path></properties>-Dandroid.sdk.path=...ANDROID_HOME

解決策 1

ANDROID_SDK(の代わりにANDROID_HOME)と呼ばれるAndroid SDKシステム変数を定義し、pom.xmlこの方法で参照しました:

  <groupId>...</groupId>
  <artifactId>...</artifactId>
  <version>...</version>
  <packaging>apk</packaging>
  <name>...</name>
  <description>...</description>

  <properties>
    <android.sdk.path>${env.ANDROID_SDK}</android.sdk.path>
    ...
  </properties>

解決策 2

android-maven-plugin別の方法として、次のセクションで設定することもできます。

<plugin>
<extensions>true</extensions>
<groupId>com.jayway.maven.plugins.android.generation2</groupId>
<artifactId>android-maven-plugin</artifactId>
<version>${android-maven-plugin.version}</version>
<configuration>
  <androidManifestFile>${project.basedir}/AndroidManifest.xml</androidManifestFile>
  <assetsDirectory>${project.basedir}/assets</assetsDirectory>
  <resourceDirectory>${project.basedir}/res</resourceDirectory>
  <nativeLibrariesDirectory>${project.basedir}/src/main/native</nativeLibrariesDirectory>
  <sdk>
    <android.sdk.path>${env.ANDROID_SDK}</android.sdk.path>
    <platform>16</platform>
  </sdk>
  <undeployBeforeDeploy>true</undeployBeforeDeploy>
</configuration>
</plugin>

解決策 3

3 番目のオプションとして、Maven に引数を渡すコマンド ラインから SDK を設定できます。

mvn clean install -Dandroid.sdk.path="C:\\Program Files (x86)\\Android\\android-sdk"

于 2014-10-12T12:42:00.903 に答える
0

プロジェクトのルート ディレクトリにlocal.propertiesというファイルを作成します。

内容とは・・・

sdk.dir=c:\\path\\to\\android-sdk
于 2012-11-20T10:26:06.020 に答える