LoginSignup
11
12

More than 3 years have passed since last update.

Android Studioのエラー備忘録

Last updated at Posted at 2017-12-19

Error:Cannot get property 'cd' on null object

とあるソースをビルドすると以下のエラーメッセージが出てきた。

Error:Cannot get property 'cd' on null object

Consult IDE log for more details (Help | Show Log)

cdと言う null オブジェクトがあると言われている。

原因

原因は凡ミス。
cdを削除する事で修正

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:24.0.0'
    compile 'com.google.android.gms:play-services:9.8.0'
    testCompile 'junit:junit:4.12'
}cd     // ← ここ

DexArchiveMergerException: Unable to merge dex

とあるソースをビルドすると以下のエラーメッセージが出てきた。

Error:Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'.
> java.lang.RuntimeException: java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex

よくわからなかったので詳細を得る為にコンパイルオプションに--stacktrace を付けてビルドし直す。
コンパイルオプションは File -> Setting -> Build, Execution, Deployment -> CompireにあるCommand-line Optionsに記載する。

compiler-options.PNG

以下のエラーに変わった。

Information:Gradle tasks [:app:assembleDebug]
Error:java.lang.RuntimeException: java.lang.RuntimeException: java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex
Error:java.lang.RuntimeException: java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex
Error:java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex
Error:com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex
Error:com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536

原因

原因はメソッド数が65k(65536)を超えた為に起きたエラーの様だ。
DexIndexOverflowExceptionをググると以下の情報が出てきたので参考にする。

いくつか解決方法があるようだが build.gradle(Module: app) の android {}multiDexEnabled true を追加する事で解決した。

app/build.gradle
android {

    // Enabling multidex support.
    multiDexEnabled true
}

Error:Minimum supported Gradle version is...

とあるソースをビルドすると以下のエラーメッセージが出てきた。

Error:Minimum supported Gradle version is 4.1. Current version is 2.14.1. If using the gradle wrapper, 
try editing the distributionUrl in C:\AndroidApp\gradle\wrapper\gradle-wrapper.properties to gradle-4.1-all.zip

Consult IDE log for more details (Help | Show Log)

gradle-wrapper.properties(gradle Version) の distributionUrl を以下のように変更する。

変更前
distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip

変更後
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip

変更後にProjectを再起動する。

11
12
1

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
11
12