Android Studio で簡単に jar をつくる手順はないのかと

ふと, こんな.

https://twitter.com/malcheese2/status/457027182133387264

Android Studio 最新版 0.5.5 でどうしたらいいのだろうか.

Create a standalone library with Android Studio | Geek Garage

apply plugin: ‘android'

apply plugin: 'android-library’

./gradlew clean
./gradlew aR

aR=assembleRelease

build/libs/ 以下に .aar ファイルが作成される.

このファイルを別プロジェクトの libs/ 以下にコピーして,依存の記述をすればよし.

Referencing a local aar file in Android Studio | Geek Garage

dependencies {
    compile files('libs/mylib.aar')
}

で「aar」とは何なのか.

Building Android applications with Gradle - Tutorial

Gradle supports a format called Android ARchive (AAR) . An AAR is similar to a JAR file, but it can contain resources as well as compiled bytecode. This allows that an AAR file is included similar to a JAR file

.aar ファイルは zip 圧縮されたファイルで以下が含まれている.

/AndroidManifest.xml (mandatory)
/classes.jar (mandatory)
/res/ (mandatory)
/R.txt (mandatory)
/assets/ (optional)
/libs/*.jar (optional)
/jni//*.so (optional)
/proguard.txt (optional)
/lint.jar (optional)

AAR Format - Android Tools Project Site

Gradle 本家サイトドキュメントなどを見てると広く深いのですが
Android Studio 関連のそこらの話を含め, 以下が一番わかりやすい.

Library projects - Android Tools Project Site

Gradle Plugin User Guide - Android Tools Project Site

で思うのが, .aar から .jar に変換できないか.

java - How to convert AAR to JAR - Stack Overflow

The AAR file consists of a JAR file and some resource files. Here are the steps to convert:

1. Extract the AAR file using standard zip extract
2. Find the classes.jar file in the extracted files
3. Rename it to your liking and use the wanted jar file in your project

Android Studio 左のツリービューからは見えない.

build_libs

ので, ターミナルから確認する.

~/AndroidStudio/SampleProject/volley/build/libs $ unzip -Z volley.aar
Archive:  volley.aar   80932 bytes   5 files
-rw-r--r--  2.0 unx      460 b- defN 23-Mar-14 22:33 AndroidManifest.xml
-rw-r--r--  2.0 unx    89580 b- defN 23-Mar-14 22:33 classes.jar
drwxr-xr-x  2.0 unx        0 b- defN 23-Mar-14 22:33 assets/
drwxr-xr-x  2.0 unx        0 b- defN 13-Feb-14 13:55 jni/
drwxr-xr-x  2.0 unx        0 b- defN 23-Mar-14 22:33 res/
5 files, 90040 bytes uncompressed, 80440 bytes compressed:  10.7%

.aar ファイルは zip 形式なので展開して class.jar をリネームすればよし, と.


Androidアプリ開発者が見ておくとよい定番優良便利なライブラリたち - その1

人気なアプリによく使われているライブラリを
列挙してみます。

すべて、jarなファイルたちなので、libs以下において
便利に使いましょう。

AndroidStudioでは build.gradle に以下の記述のみで、
利用できるようになります。

dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
}

Android Studio に今は必ず必要な build.gradle の記述 Android Studio に今は必ず必要な build.gradle の記述

Gradle__please

Gradle, please Gradle, please

では、備忘メモ的に挙げていきます。

Android Support Library

Support_Library___Android_Developers

Support Library | Android Developers Support Library | Android Developers

いまや、ほとんどのアプリが使用。
OS 2.x系互換で作るなら必須。
ActionBarやNavigationDrawerなど今どきUIも簡単に実装できるようになります。
Android SDK同梱。

Android Cloud to Device Messaging(C2DM)/GCM

Google_Cloud_Messaging_for_Android___Android_Developers

アプリにGoogleサーバ経由でプッシュな通知を送るライブラリ。
最近、みそもくそもこいつを入れてなんかやりたい、という宣伝派事業主多しで、
ユーザとしてはウザいだけの困ったやつ。

Google Cloud Messaging for Android | Android Developers Google Cloud Messaging for Android | Android Developers
GCM (Google Cloud Messaging) で AndroidアプリにメッセージをPUSHする GCM (Google Cloud Messaging) で AndroidアプリにメッセージをPUSHする

Actionbar Sherlock

ActionBarSherlock_-_Home

古くから Android2.x系互換なActionBarスタイルを実装できる
ライブラリ。
Android SDK内にもcompatなやつが最近登場しているが
なごり的にいまでも利用アプリ多い雰囲気。
当然、ネット上に情報も多い。

ActionBarSherlock - Home ActionBarSherlock - Home

2.x系(API10)で NavigationDrawer を appcompat-v7 で「Resource is not a Drawable (color or path)」 2.x系(API10)で NavigationDrawer を appcompat-v7 で「Resource is not a Drawable (color or path)」

Google Analytics

Google_アナリティクス公式サイト_-_ウェブ解析とレポート機能_–_Google_アナリティクス
Google アナリティクス - Google Play の Android アプリ

定番WEBアクセス解析ツール。
Androidアプリに実装すると、アプリ内でのユーザの挙動や動きを
トラッキングできる、ボタン、イベントなど。

Android Native Application Tracking Overview - Google Analytics — Google Developers Android Native Application Tracking Overview - Google Analytics — Google Developers
Google Analytics SDK for Android v3 (Beta) - Getting Started - Google Analytics — Google Developers Google Analytics SDK for Android v3 (Beta) - Getting Started - Google Analytics — Google Developers

Google gson

google-gson_-_A_Java_library_to_convert_JSON_to_Java_objects_and_vice-versa_-_Google_Project_Hosting
今や主流のJSONスタイルのデータを最もシンプルに
パース&ビルドできる。使い方もシンプル。

google-gson - A Java library to convert JSON to Java objects and vice-versa - Google Project Hosting google-gson - A Java library to convert JSON to Java objects and vice-versa - Google Project Hosting

続きを読む >>


Android Studio で jar をつくる

jar にしておくといろいろ便利ですよね、各種ライブラリファイル群。

で、こんなかんじで簡単にできるのですが、コマンドライン+Ant で。

git からもってきて jar化。

$ git clone https://android.googlesource.com/platform/frameworks/volley
$ cd volley
$ android update project -p .
$ ant jar

とサクッとできたりします。

で、これを、AndroidStudioでやってみます。

続きを読む >>