LoginSignup
8
7

More than 5 years have passed since last update.

Android Studio2.0のInstant Runを既存プロジェクトに適用したら65K問題を踏んだ(未解決)

Posted at

きっかけ

Androidアプリの開発を爆速化させるInstant Runを今日から使おう

可及的速やかに導入しようと思ってトライしました。

現象

先ほどの記事にある手順で、既存アプリにInstant Runを適用してみました。
だがしかし、ビルドすると下記エラーが出ます。

Error:Execution failed for task ':appname:transformClassesWithDexForDebug'.
> com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/bin/java'' finished with non-zero exit value 2

ここにあるようにgradleのオプションを足してみたのですが、

build.gradle
android {

    ....

    dexOptions {
        dexInProcess = true
    }

    ...
}    

今度は別のエラーが出ました。

Error:Execution failed for task ':appname:transformClassesWithDexForDebug'.
> java.lang.reflect.InvocationTargetException

ホントAndroid界厳しい。

原因

どうやらInstant Runを適用すると20K個ほどのメソッドが既存プロジェクトに足されるようです。
65K問題が起きた時の犯人を調べる方法を見ながらおそるおそるメソッド数を数えてみたところ...。

_人人人人_
> 63195 <
 ̄Y^Y^Y^Y ̄

それによりメソッドの65K問題を踏んでしまったのが原因のようです。

対策(未解決)

com.android.tools.build:gradle:2.0.0-alpha3で修正される模様。気長に待つとします。

8
7
0

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
8
7