Android N Developer Preview が遂に登場!!

リソースなど公開されています.

Android_N_Developer_Preview___Android_Developers

専用のサイトもこれまでと違い充実しています.

Program_Overview___Android_Developers

最終版リリースは,「2016 Q3」の予定.

Program_Overview___Android_Developers

SDKをダウンロードすれば, Android Studio + Java8 で開発ができるようになります.

Set_Up_the_Preview___Android_Developers

Set_Up_the_Preview___Android_Developers

ダウンロードできるシステムイメージは Nexus6以降のNexusシリーズ.

Test_on_an_Android_N_Device___Android_Developers

Beta Program に登録すると最新のPreview版がOTAで更新することもできます.

Test_on_an_Android_N_Device___Android_Developers

その他, 新機能の一覧やサンプルコード類も充実しています.

Android N Developer Preview | Android Developers


オプションに「--profile」をつけて Run時間が1分から2秒になった話

開発中に何十回, 何百回と端末またはエミュレータで動かしてテストしていると思います.

回数が多い分, 数十秒でも大きく生産性に影響します.

Terminal からの選択しながらのビルドや Gradle コンソールで詳細を確認したりする方法は, まあ, あるっちゃああるけどもいちいちそんなの調べてやるのもなんだかめんどくさかったりして.

「ビルド時間の短縮」というようなキーワードでググればまあそれなりに似たような結果がみつかる.

Android お手軽なビルド時間の短縮メモ

今回, なんとなくいちいちHTMLで結果が出力されるという

「コマンドラインオプションに --profile をつける」

というのをなんとなくやってみたら, Runから実行までの時間が 1分から2秒 になったのでまあ書いてみるが.

Preferences

とするだけ.

「Run」するたびにHTMLで, build/reports/profile/ 以下 にそれぞれにかかった時間をまとめたHTMLファイルが出力される.

AnalyticsApplication_java_-_Android_Studio_2_0_Beta_6

閲覧するには, Run後出力されたHTMLから右クリックでブラウザを起動するといい.

Android_Studio_2_0_Beta_6

こんなかんじで出力された.

Profile_report

Profile_report

50秒のうち45秒が「Crashlystis」の処理に使われている.

デバッグ時には, このような処理は当然必要ない.

しかも謎なのは Fabric は使っているが Crashlytics は使っていないのだが.

この処理を殺す.

-_Android_Studio_2_0_Beta_6

その後結果.

Profile_report

Profile_report

いろいろ謎なことは多いが, オプション「--profile」をつけるだけで一回の「ビルド→実行」時間が数十倍に短縮された.

やみくもにググるよりか, いわゆる「ログ」のような「profile」を見ながらググるほうが効率的.

なぜなら, GUIダイアログから「--profile」と入力しておくだけだもの.


コマンドラインで stackoverflow を快速に検索できる「how2」

使い方はこうです.

usage: how2 [-l python/ruby/etc.] search string

コマンドである「how2」に続いて, 検索したいキーワードを入力します.

bz2

言語 (タグ?) を限定する場合はオプション「 -l 」を付けます.

例えば, キーワードを「retrolambda」「RxJava」として android 関連の情報を探します.

$ how2 -l android retrolambda rxjava

how2

さらに他に情報を見たい場合は [SPACE] を押すと一覧で表示されて選択できます.

__—_how2 2

__—_how2 3

__—_how2 4

これはもう「tldr」よりも広く分かりやすい説明をみつけることができそうです.

インストールは以下で.

$ brew install node
$ npm install -g how2

santinic/how2: stackoverflow from the terminal

man は長すぎるので「tldr」


【AndroidStudio 不要】サンプルアプリは「dryrun」で試してすぐ捨てよう

参考にしたいサンプルアプリをGiHubで見つけて試してみる場合は以下のような手順

1. サンプルアプリのリポジトリを探す.
2. zip をダウンロードする.
3. それを展開する.
4. AndroidStudio などIDEを開く.
5. インポートする.
6. Gradle が sync する.
7. プロジェクトを run.
8. 実行するデバイスを選択する.
9. 実際に動かしてみる.
10. zipファイルとプロジェクトフォルダを捨てる.

となりますが,「dryrun」をインストールすると

$ gem install dryrun
...
$ dryrun -h
Usage: dryrun GITHUB_URL [OPTIONS]

Options
    -m, --module MODULE_NAME         Custom module to run
    -p, --path PATH                  Custom path to android project
    -h, --help                       Displays help
    -v, --version                    Displays version

dryrun: Try the demo project of any Android Library

リポジトリのURLのみでターミナルからの一行で起動までが可能になります. AndroidStudioなどIDEは起動しなくてよいです.

プロジェクトディレクトリは残りません.

$ dryrun https://github.com/cesarferreira/android-helloworld

usage_v2

cesarferreira_dryrun__Try_the_demo_project_of_any_Android_Library

アプリ起動後, 動かしてみて, いらなくなったらターミナル出力の最終行に表示されているadbコマンドでアンインストール.

...
> If you want to remove the app you just installed, execute:
adb uninstall github.cesarferreira.helloworld

あなたのマシンには試したテストアプリの不要なプロジェクトディレクトリがたくさんありませんか?

man は長すぎるので「tldr」


使える実績のある開発ライブラリを探せるページを探す

こんな話がありましたが.

Deprecate_Otto_in_favor_of_RxJava_by_swankjesse_·_Pull_Request__181_·_square_otto

Deprecate Otto in favor of RxJava by swankjesse · Pull Request #181 · square/otto

いきなり利用しているライブラリのメンテが終了すると,「乗り換え先」を探したくなります.

「便利」
「使える」
「実績のある」
「問題のない」

というのをどうやって探すか.

「有名なあのアプリが利用しているライブラリを見てみる」

というのがよさげ.

そんなサイトを2つ.

libtastic

個人のサイトかな?

libtastic 2

libtastic_-_Tumblr

libtastic_-_Technologies 2

libtastic_-_Technologies

機能別, ライブラリ別, アプリ別にわかりやすくまとめられています.

もうひとつは, アプリを紹介している AppBrain のサイトの一部.

Android library statistics - AppBrain

Android_library_statistics_-_AppBrain

Database_libraries_-_AppBrain

Android_utility_libraries_-_AppBrain

こちらもすばやく見つけることができそうです.

眺めておくだけでもだいぶ違うような気がします.