Android

2011年2月8日火曜日

AndroidでLibraryを作る

Android用のライブラリを作成する方法

手順をメモ。
  1. プロジェクト作成
    • 新規→Androidプロジェクトを選択
    • 通常通りにプロジェクト名・ビルドターゲットの設定を行う。
    • Create Activityのチェックを外す。


  2. プロジェクトのプロパティ設定
    • プロジェクトを選択→右クリック→プロパティ→Androidタブで Is Libraryをチェックする


  3. AndroidManifestの設定
    • アプリケーションタブでDefine an <application> tag in the AndroidManifest.xmlのチェックを外す。
    • なお、Label/Iconの指定は無視されるので気にしない。


    • これで、できたAndroidManifest.xmlはこんな感じでとってもシンプル。

    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.sample.library"
          android:versionCode="1"
          android:versionName="1.0">
    </manifest>
    

  4. リソースの整理
    • デフォルトで不必要なリソースができているので削除する。


    • こんな感じでできてるはずなので、drawable-xxx/icon.png(3か所), layout/main.xml, values/string.xmlを削除。
    • リソースを使用しない場合は、resフォルダ内のサブフォルダ drawable-xxx, layout, values等は削除しても構わないが、 assets, res, genのフォルダのみは残しておかないとエラーになる。
    • genフォルダ内にR.javaが自動生成されている。気持ち悪いので一応これも消しておく。
    • リソースを使用する場合は、必要なものを残しておくか、削除後に新しく作成する。

  5. ソースクラスの作成
    • ライブラリとして実装したいクラスをjavaで普通に作成する。

  6. ビルド実行
    • 普通に自動ビルドされるが、一旦クリーンアップして再ビルドするのがなにかと問題が起きにくい。
    • default.propertiesが非同期と言われた場合は、そのファイルを右クリック→リフレッシュしてみる。

  7. ライブラリ(*.jar)作成
    • プロジェクトを右クリック→エクスポート→Java→JARファイル→次へ を選択。
    • エクスポートするものを選択。
      初期設定ではすべてが選択されているが、rootにある次のものは除外すべき。
      (.classpath, .project, AndroidManifest.xml, default.properties, propguard.cfg)
      これらを除外しないと、(これらを除外していない)複数のLibraryを使用するときにDuplicate ..... といって怒られる。
    • また、ライブラリを自プロジェクト内のフォルダに生成した場合、2回目のエクスポート時にライブラリもエクスポート対象になっていると、「JAR ファイルは、それ自体にはエクスポートできません。」と表示される。この時は、あわてずライブラリをエクスポート対象から除外する。


    • その他はデフォルトのままで特に問題なし。Jarファイルの場所を名前を選択し、次へ もしくは 完了。
    • 次へを選んだ場合は適宜設定を進めて完了を選ぶ。

  8. これで、選択した場所にライブラリが作成される。
    • あとは、できたjarファイルを好きなところにコピーして運用するだけ。ライブラリの使い方はまた別途書きます。

0 件のコメント:

コメントを投稿