Ответ 1
Решение, предлагаемое Google здесь, заключается в обновлении плагина Android Studio Gradle до версии 1.0.1
Я просто переключаюсь с Eclipse на Android Studio и обнаружил это странное поведение. Когда я добавляю точку останова в первой строке метода, я не вижу значения параметров. Единственное, что я могу видеть, это ссылка this
. Я либо должен сделать один шаг отладки, либо установить точку останова на строку после первого, чтобы увидеть значения параметров.
У кого-нибудь еще есть эта проблема или знает, что здесь происходит?
Решение, предлагаемое Google здесь, заключается в обновлении плагина Android Studio Gradle до версии 1.0.1
Попробуйте отключить покрытие теста jacoco для сборки отладки в файле build.gradle:
debug {
...
testCoverageEnabled false
}
Это полностью исправило проблему для меня, когда обновление плагина gradle не выполнялось.
Хорошее решение до тех пор, пока AOSP Issue # 123771 не будет разрешено использовать фрагмент, предоставленный Стюарт в разделе комментариев:
buildTypes {
debug {
[...]
testCoverageEnabled true
}
release {
[...]
}
debuggable.initWith(buildTypes.debug)
debuggable {
testCoverageEnabled false
}
}
Таким образом, вы можете хранить отчеты о тестировании в своей сборке отладки и иметь способ переходить через код, видя ваши локальные переменные.
У меня нет в файле gradle:
debug {
...
testCoverageEnabled true
}
но имела ту же проблему на Android Studio 2.2. Решение, которое помогло мне решить проблему:
Если ваша сборка использует jack toolchain, это может стать источником проблемы. В моем случае, отключение гнезда решает проблему:
buildTypes {
...
debug {
jackOptions {
enabled false
}
}
}
Примечание. Для совместимости с исходным кодом 1.8 требуется гнездо!
Мне было больно переключать testCoverageEnabled
, когда я хотел отлаживать, поэтому настроил свойство проекта, чтобы отключить его при запуске из Android Studio, но по умолчанию он включен при запуске из командной строки без таких параметров, как в окне сборки.
// Default to true, set -PtestCoverageEnabled=false in IDE compiler command-line options
def isTestCoverageEnabled = { ->
def enabled = project.hasProperty('testCoverageEnabled') ? testCoverageEnabled.toBoolean() : true
println "testCoverageEnabled = " + (enabled ? "true" : "false")
return enabled
}
android {
buildTypes {
debug {
testCoverageEnabled isTestCoverageEnabled()
}
}
}
Чтобы установить свойство в среде IDE, добавьте параметр командной строки -PtestCoverageEnabled=false
Android Studio → Настройки → Сборка, выполнение, развертывание → Компилятор → Параметры командной строки