Warning: Exception while processing task java.io.IOException: java.lang.IllegalArgumentException: Overflow of unsigned short value [66077]
:app:transformClassesAndResourcesWithProguardForRelease FAILED
こういうのが出てきちゃう方向け。
2017.6.1追記
Gradle Plugin for Android v3.0.0-alpha2ではProguard v5.3.3が採用されていることを確認しました。
tldr;
- Proguard v5.3.3で直ってるよ
- Gradle Plugin for Android v2.3.1やv2.4.0-alpha6にはProguard v5.3.2が入ってるから、問題にぶち当たった人は自分で設定してv5.3.3に上げてね
原因
16bitっぽい話なのでmultidexの問題なのかなと思ってしばらく調べていたのですが、どうやら素直にタスク名のとおりにProguardの問題として見ればよかったようです。
同様の問題がProguardのIssueに報告されていました。
本筋の議論が行われていたのは#623のほうだったようです。
既にパッチのやりとりも終わり、修正版のProguard v5.3.3ではこの問題は起こらなくなっています。
ここで問題が。
buildEnvironment
$ ./gradlew buildEnvironment
...
:buildEnvironment
------------------------------------------------------------
Root project
------------------------------------------------------------
classpath
+--- com.android.tools.build:gradle:2.3.1
| \--- com.android.tools.build:gradle-core:2.3.1
| +--- com.android.tools.build:builder:2.3.1
...
| +--- net.sf.proguard:proguard-gradle:5.3.2
| | \--- net.sf.proguard:proguard-base:5.3.2
僕らの手元にはProguard 5.3.3が無い・・・!
Gradle Plugin for Android v2.4.0-alpha6でもProguardのバージョンは同じだったので、たぶんしばらくこのままでしょう。
Proguard 5.3.3を導入する
ないなら入れましょう。
$PROJECT_ROOT/build.gradle
buildscript {
...
configurations.all {
resolutionStrategy {
force 'net.sf.proguard:proguard-gradle:5.3.3'
}
}
}