3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Android Studio 3.1~3.2 Beta5 で Built-in Shrinker を使うと Run できない件

Last updated at Posted at 2018-07-31

AS3.2 で Built-in Shrinker が使えない問題

今日1日検証した内容のメモ。

いわゆる 64K メソッド問題を multi-dex 以外で解決する方法として Built-in Shrinker を愛用しているんですが、Android Studio 3.1 以降にするとどうにも Run や InstantRun ができない問題が発生していました。

Built-in Shrinker はこんなやつ

android {
...
    buildTypes {
...
        debug {
            // Built-in Shrinker
            minifyEnabled true
            useProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

4月頃試したけど

AS 3.2 Beta5 が出たのでそろそろ修正されているかと思ってやってみましたが

という感じでダメだったので最小プロジェクト構成で試してみました。

最小プロジェクト構成で試す

Android Studio 3.2 Beta5 で EmptyActivity のプロジェクトを作り、Built-in Shrinker を有効にしたところ、いきなり Run できなくなりました。

AGP 3.3 alpha03 なら動く

Android Studio 3.2 Beta5 + Android Gradle Plugin 3.3.0-alpha03 + Gradle 4.9 rc1 という構成だと Run および InstantRun できました。
但し Java 1.8 対応の方式が変わっているので gradle.propertiesandroid.enableR8.desugaring=false の記述が必要。

APK 作って普通に実機に入れても動いたので experimental が気になるとはいえ一応解決かもしれない。

(2018/8/3追記) AGP 3.3 alpha04 でも動いた

Android Studio 3.3 Canary 4 が出たので Android Gradle Plugin 3.3.0-alpha04 + Gradle 4.9(4.9 rc1からアップデート) に差し替えましたが無事 Run および InstantRun できました。

3
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?