[めも]Android Studio 2.3 関連のIssue[Android 開発環境]

Androidの開発環境をアップデートする時用のメモです。
(アップデート時の障害回避用に検索したので、実際に障害が再現するかは確認していません。)

#ざっくりとした、まとめ
安定しているのは、今の所、Android Studio 2.2.3 らしいです。
(ただし、2.3のリリース版が出たので、2.2.xは大きなバグ以外修正が入らない可能性があります)

2.3.xは、もうしばらく様子見が無難かも？
(2.4.xが先に出そうな雰囲気もありますが)

関連Issueで行数が膨らんで見にくいかもしれませんが・・
とりあえず、関係ありそうなものを拾ってみました。
一部、SDK Tools関連の情報も含みます。

###ツール、エミュレータ(AVD)周りで大きな変更があった(SDK Tools 25.3.x)
####・一部のツールが削除された
####・フォルダ構成が大幅に変更された
詳細は、[Android SDK Tools Revision 25.3.0 (Feb 2017)](http://tools.android.com/recent/androidsdktoolsrevision2530feb2017)、[Android Emulator Revision 25.3.0 (Feb 2017)](http://tools.android.com/recent/androidemulatorrevision2530feb2017) などを参照して下さい。

####・ツール類が動かなくなる場合がある
パスが変更された、アクセス権不足(書き込み権限が必要になった)、ツール自体が存在しないなど。

####・AVDのリストを表示しようとすると、例外が発生する場合がある
Issue [233816](https://code.google.com/p/android/issues/detail?id=233816): avdmanager list [avd] throws a ClassCastException
> Tools version: 25.3.0 (installed via sdkmanager canary channel)

####・sdkmanager のコマンドラインツールで、ログが正常に出力されない(78文字/行に制限される)
Issue [229373](https://code.google.com/p/android/issues/detail?id=229373): sdkmanager limits output line length to 78
> Tools Version: 25.2.3
(25.3.0のリリースノートによると、February 9の時点では未修整)

###エミュレータ(AVD)関連:旧バージョン
####仮想デバイス名に(カッコ)を使えない(Android Studio 2.2.x)
[Known Issues](http://tools.android.com/knownissues)から。
[You can't have parentheses ( or ) in Virtual Device names in Android Studio 2.2](http://tools.android.com/knownissues#TOC-You-can-t-have-parentheses-or-in-Virtual-Device-names-in-Android-Studio-2.2)

-> 修正版:2.3.x
> This issue has already been resolved in Android Studio 2.3.

###Gradle周りも修正が入ったらしい
####設定ファイルの問題 (一部のオプションが動作しない問題)
Issue [224273](https://code.google.com/p/android/issues/detail?id=224273): 
gradle version 2.2.0 ignore apptOption noCompress
Issue [224167](https://code.google.com/p/android/issues/detail?id=224167): aaptOptions ignoreAssetsPattern not working on Gradle 2.2.0
> \#2 probably a regression introduced by the new packager. 
> \#5 The "" were needed because of a bug when passing the empty argument to aapt's -0 option.

※修正版を使う場合は、設定ファイルの変更も必要。

-> 修正版:2.2.3
> Bug fix for aaptOptions IgnoreAssetsPattern not working properly (http://b.android.com/224167)

####・default(バリアント)の問題
Issue [233777](https://code.google.com/p/android/issues/detail?id=233777): Gradle: incorrect incremental build with jar lib and proguard (regression over 2.2.0)
> \#5 This was due to the default published variant use a folder that's not tied to the variant name (and instead use 'default').

-> 修正版:2.3 RC 1
> Android Studio 2.3 RC 1
> This build contains a small set of important bug fixes.
> Gradle: https://code.google.com/p/android/issues/detail?id=233777

###ProGuardのバグに伴う変更があった
####innerクラスのsuperの問題 (ProGuard 5.3.1)
[#625 Wrong code generated when MyClass.super.method() ](https://sourceforge.net/p/proguard/bugs/625/)

> Android Studio 2.3 Canary 3
> ProGuard version update: We have upgraded the ProGuard version that the Android Plugin for Gradle uses to ProGuard 5.3.2.
>
> Android Studio 2.2.3
> ProGuard version rollback. Due to a correctness issue discovered in ProGuard 5.3.1, we have rolled back to ProGuard 5.2.1.


###Instant Runも色々あるらしい(特に2.3.x)
####・正常に動作していなかった問題
-> Issue [234401](https://code.google.com/p/android/issues/detail?id=234401): Instant run always performing a cold swap when in debug mode

-> 修正版:2.4 Preview 1
> Android Studio 2.4 Preview 1
> Instant Run Debug Issue 234401 should now be resolved.

####・ビルド時にdex数の制限を受ける場合がある問題
Issue [233093](https://code.google.com/p/android/issues/detail?id=233093): AS generate more than 100 DEX files in one APK for API 21 and 22
> It looks that Android Studio 2.3 is skipping dex merge process and keep one dex file for one project dependency for the IDE build
・・・
> \#6
> The current fix is to enable the upgrade from legacy to native multidex only if the target device is 23 and above.
> In 2.4 we will start merging external dependencies' DEX files, so this should not be a problem any more.

-> 修正版:2.3 Beta 4
> Fixed Issues
> Build Fixes: 233068, 233093,

-> 関連項目 
> Android Studio 2.4 Preview 1
> Build:
> ・Incremental dex’ing. Dex’ing is now done at a per class level. This allows for more incrementality and will result in faster incremental builds. You should also expect improved build speeds for applications using legacy multi-dex (minSdkVersion < 21).
> ・Dependency resolution at execution time. In previous versions, dependency resolution occurs during Gradle configuration time.・・・

###Jackコンパイラ関連
(Jackコンパイラは、Java 8を使う場合のみ)
[Android Studio Project Site - Known Issues](http://tools.android.com/knownissues)から

####Instant Run not compatible with Jack
> Instant Run currently is not compatible with the Jack compiler, so it is disabled for projects configured to use the Jack compiler until the fix is applied. (Using the Jack compiler is necessary only when using Java 8 language features.)

####Tools and libraries that require the app’s class files not compatible with Jack
> Various tools that read .class files (such as JaCoCo, Mockito, and some lint checks) are currently not compatible with the Jack compiler.

###その他
####32bit版のWindowsで発生する問題。(32bit版のJREが同梱されなくなったため)
Android Studio 2.2.3の[issue の検索結果](https://code.google.com/p/android/issues/list?can=1&q=target%3D2.2.3+status%3AReleased&colspec=ID+Status+Priority+Owner+Summary+Stars+Reporter+Opened&cells=tiles)から、
Issue [219524](https://code.google.com/p/android/issues/detail?id=219524): CreateProcess error=216 using android stuidio 2.2
> \#25
> This happens because for now we only bundle the 64bit JRE on Windows. Two things:
- do not use the embedded JDK: in the Project Structure dialog, uncheck the box and select the 32-bit JRE you've been using so far;
- decrease the memory footprint for Gradle in gradle.properties, for instance set it to -Xmx768m.


####AppCompat関連
Issue [230567](https://code.google.com/p/android/issues/detail?id=230567): java.lang.NoSuchFieldError: ViewBackgroundHelper in layout designer view
※ViewBackgroundHelper は、android.support.v7.widget.AppCompatBackgroundHelper をextendしたもの。
-> ~~修正版:2.3 Beta 3~~
(Beta 3のFixed Issuesに入っていますが、直っていないという報告も)




#参考
##Android Studioの最近のバージョン
[Android Studio Project Site - Recent Changes](http://tools.android.com/recent)
※リンク先には、Beta/Canary チャンネルの物も含みます。

(この記事を書いた時間：2017/3/16 AM3:24)
####2.4 Preview 1
> [Android Studio 2.4 Preview 1 is now Available](http://tools.android.com/recent/androidstudio24preview1isnowavailable)
posted 20 hours ago by Chris Iremonger   [ updated 18 hours ago ] 

####2.3 (リリース版)
> [ConstraintLayout 1.0.2 is now available](http://tools.android.com/recent/constraintlayout102isnowavailable)
> Note: with Android Studio 2.3 being released
->
> (02 March 2017) [Android Studio 2.3](https://android-developers.googleblog.com/2017/03/android-studio-2-3.html)

####2.3 RC 1
> [Android Studio 2.3 RC 1 is Now Available](http://tools.android.com/recent/androidstudio23rc1isnowavailable)
posted Feb 18, 2017, 2:20 PM by Tor Norbye 

####2.3 Canary 3、Beta 1～4

####2.2.3
> [Android Studio 2.2.3 is now Available](http://tools.android.com/recent/androidstudio223isnowavailable)
posted Dec 7, 2016, 6:16 AM by Chris Iremonger   [ updated Dec 7, 2016, 6:35 AM ] 

##Android SDK Tools、Emulatorの最近のバージョン
> [Android SDK Tools Revision 25.3.0 (Feb 2017)](http://tools.android.com/recent/androidsdktoolsrevision2530feb2017)
posted Feb 9, 2017, 10:19 AM by Chris Iremonger   [ updated Feb 10, 2017, 3:14 AM ] 

> [Android Emulator Revision 25.3.0 (Feb 2017)](http://tools.android.com/recent/androidemulatorrevision2530feb2017)
posted Feb 9, 2017, 10:20 AM by Chris Iremonger   [ updated Feb 12, 2017, 2:20 AM by J. Eason ]