Android N のバージョン記述はどう書くのか?

SDKやPlatform-tools などすべて更新して, Java8 に設定.

SDKバージョン周りがなんだか謎.

今日公開された公式ドキュメントでは以下.

Set_Up_the_Preview___Android_Developers 2

Set Up the Preview | Android Developers

このとおりにエディタで編集する.

android-n

だめじゃん!

赤波下線じゃん!!

Android Studio から GUI上から書き換える.

Project_Structure_and_app

android-n-1

Project_Structure

「OK」を押すと, build.gradle に反映される.

なんすか

画面上部の「Try Again」をクリックして Sync しようとすると エラーとなります.

n

あかんやんけ, ワレ.

公式のサンプルを見てみる.

android-ScopedDirectoryAccess_build_gradle_at_master_·_googlesamples_android-ScopedDirectoryAccess

android-MultiWindowPlayground/build.gradle at master · googlesamples/android-MultiWindowPlayground

これでいけた.

公式ドキュメントが更新に追いついてないのか (buildToolsVersion).

いや, GUIからの設定もおかしい (compileSdkVersion).

ややこいなあ.


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


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

何回もググってるのでメモ.
ファイル別コピペ用.

build.gradle

mavenCentral() でなく jcenter() を使う.
[File] - [Project Structure] - [Project]
Project_Structure

buildscript {
  repositories {
    jcenter()
  }
...
allprojects {
  repositories {
    jcenter()
  }
}

gradle.properties

メモリ調整など.
[Preferences] - [Build] - [Compiler]
Preferences_and_gradle-wrapper_properties

org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError
org.gradle.parallel=true
org.gradle.daemon=true
org.gradle.configureondemand=true

gradle-wrapper.properties

Gradle は最新版を使う.
[File] - [Project Structure] - [Project]
Project_Structure

#Mon Dec 28 10:00:20 PST 2015
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip

その他

- ライブラリをオフライン
- profile でチェック
- assemble exclude

随時更新していこう.

Speeding up Gradle builds


GooglePlayDeveloperConsole で可能になった「スタックトレースの解読」

こんなのでてます.

GooglePlay

クラッシュと_ANR__Google_Play_Developer_Console

マッピングファイルをアップロードしておくことで, スタックトレースを解読したもので表示できるようになります.

ProGuard | Android Developers

マッピングファイルは, リリース版をビルドしたときに以下位置に出力されています.

mapping

このファイルをデベロッパーコンソールからアップロードしましょう.

Google_Play_Developer_Console

難読化されていたスタックトレースが分かりやすく見ることができるようになるのでしょう.

👉 新しい Google Play Console の mapping.txt のアップロード 


オプションに「--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」と入力しておくだけだもの.