web-dev-qa-db-ja.com

Android Studioのデバッグウィンドウで「 'this' is not available」

Android Studioのデバッグウィンドウでこのメッセージが表示されます。これは静的メソッドでもクラスでもありません。それはどういう意味ですか?

enter image description here

36
Anthony

これは反射に関連する問題だと思います。私のプロジェクトはHugoを使用していました。無効にするとすぐにバグが消えました。

問題がプッシュされました: https://github.com/JakeWharton/hugo/issues/127

13
Anthony

thisキーワードは、公式のJava ドキュメント のように、現在のオブジェクトインスタンスへの参照です。

あなたの場合、エラーメッセージ'this' is not availableは、デバッガーが現在のオブジェクトにアクセスできない(つまり、知らない)ことを意味します。

9
bendaf

Lambda式の内部では、変数の値を評価できません。ラムダ式から通常の式に変更すると、問題が解決しました

4
MarGin

「Build Variant」をデバッグに変更

enter image description here

1
Diffey

私は私のgradleの設定を変更すると、私のための仕事。これはエラー設定です:

     buildTypes {
    release {
        minifyEnabled true
        zipAlignEnabled true
        shrinkResources true
        proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
        signingConfig signingConfigs.release
    }

    debug {
        minifyEnabled true
        zipAlignEnabled true
        shrinkResources true
        proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
        signingConfig signingConfigs.release
    }
}

そして、これは私の仕事です。

debug {

        minifyEnabled false
        zipAlignEnabled false
        shrinkResources false
        proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
        signingConfig signingConfigs.release
    }
0
didikee

私はそれのための簡単な回避策を持っています:

int tmp = this.a; // tmp is available
this.a++; // this is not available
int tmp2 = this.a // tmp2 is available
0
Vadim