新規mavenプロジェクト作って既存ソースを移行したメモ

  • 作成

新規→Mavenプロジェクト→アーキタイプの追加で以下を追加
 アーキタイプ・グループID: de.akquinet.android.archetypes
 アーキタイプアーティファクトID: android-quickstart
 アーキタイプ・バージョン: 1.0.7

プロジェクトの情報を入力
 グループ名:
 アーティファクト名:
 バージョン:1.0.0
 パッケージ:パッケージ名

  • 実行してみる
$ mvn install

この文字は、エンコーディング SJIS にマップできません。
エラーが出たら…

            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.3.2</version>
                <configuration>
                    <source>1.6</source>
                    <target>1.6</target>
                    <encoding>UTF-8</encoding> ←
                </configuration>
            </plugin>

をpom.xmlに追記。
「この文字は、エンコーディング MS932 にマップできません。」のエラー解消方法 - jxpowerの日記


de.android.comまわりでOOMエラーが出たら…

     <dex>
       <jvmArgument>-Xms256m</jvmArgument>
       <jvmArgument>-Xmx512m</jvmArgument>
     </dex>

をpom.xmlに追記。
http://blacksheep.lolitapunk.jp/wiki/index.php?Maven%A4%C7%A5%D7%A5%ED%A5%B8%A5%A7%A5%AF%A5%C8%BA%EE%C0%AE%A1%CAEclipse%A1%CB

  • 実行はできたけどNative Libraryを使ってる場合はもう少し工夫が必要

${project.basedir}/libs
配下にarmeabi/libXXX.soがある場合、

<nativeLibrariesDirectory>${project.basedir}/src/main/native</nativeLibrariesDirectory>

この部分をコメントアウトする。
この記述がない場合はデフォで{project}/libsを見るらしい。

または
${project.basedir}/src/main/native
配下にnative libraryを置くか。どっちか。

  • すべてうまくいったら
$ mvn clean install android:deploy android:run

をひたすら実行。