くらげになりたい。

くらげのようにふわふわ生きたい日曜プログラマなブログ。趣味の備忘録です。

AndroidStudioで謎のエラー(UNEXPECTED TOP-LEVEL EXCEPTION)を対処した話

Android SDKをバージョンアップした際に、不思議なエラーが出たので、その備忘録。

解決はできたけど、なぜ発生したかの原因がはっきりわかってないのでもやもや。

誰か教えてすごいひとm(__)m

追記

今のところ正しいと思う対処法を別の記事で書きました。

以下、起きたこと

新しいSDKをインストールして、GradleのbuildToolsVersionを19.0.0から最新版の21.1.2にした。

そして、gradle buildを実行するとこんなログが。。。

・・・
:app:preDexDebug
:app:dexDebug
UNEXPECTED TOP-LEVEL EXCEPTION:
java.lang.IllegalArgumentException: method ID not in [0, 0xffff]: 65536
    at com.android.dx.merge.DexMerger$6.updateIndex(DexMerger.java:501)
    at com.android.dx.merge.DexMerger$IdMerger.mergeSorted(DexMerger.java:276)
    at com.android.dx.merge.DexMerger.mergeMethodIds(DexMerger.java:490)
    at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:167)
    at com.android.dx.merge.DexMerger.merge(DexMerger.java:188)
    at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:439)
    at com.android.dx.command.dexer.Main.runMonoDex(Main.java:287)
    at com.android.dx.command.dexer.Main.run(Main.java:230)
    at com.android.dx.command.dexer.Main.main(Main.java:199)
    at com.android.dx.command.Main.main(Main.java:103)

 FAILED

FAILURE: Build failed with an exception.

・・・
  Error Code:
    2
・・・
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

なにやら、dexのタスクでエラーが出ている様子。でもよくわからない。

そして、下記のようなstyles.xmlがエラーに。。。

Theme.AppCompat.Light.DarkActionBarが解決できないと。。。

    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <item name="android:actionBarStyle">@style/MyActionBar</item>
    </style>

解決方法

参考にしたサイト様を見てみると、同じ感じのエラーが出ている様子。

support-v4をexludeすればいいらしいので、そのまま下記の内容をbuild.gradleの一番最後に追記。

すると見事、SUCCESSに!!

さすがStack Overflow!!

apply plugin: 'com.android.application'

android {
・・・
}
・・・
configurations {
    all*.exclude group: 'com.android.support', module: 'support-v4'
}

[PR] めもらばではこんなあぷりを作っています!

参考にしたサイト様