每当我设置" debugging"的值时到"真"在我的Android应用程序中,有一个错误。 错误的描述是:"避免硬编码调试模式;将其删除允许调试和发布版本自动分配一个"。
答案 0 :(得分:0)
从清单中删除android:debuggable="true"
。
首先,你可能不需要它。即使使用Eclipse,普通的IDE构建也可以自动调试,就像仿真器上的任何进程一样。出于安全原因,生产硬件上的发布版本将无法调试,这是您想要的。
如果您需要更多灵活性,并且使用的是Android Studio / Gradle for Android,请在build.gradle
中设置自定义构建类型,以模拟其他方案。默认的debug
构建类型将使应用程序成为可调试的;默认的release
构建类型会使您的应用无法调试。自定义构建类型可以使用debuggable
语句来说明它们应该做什么:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.12.2'
}
}
apply plugin: 'com.android.application'
dependencies {
}
android {
compileSdkVersion 19
buildToolsVersion "19.1.0"
defaultConfig {
versionCode 2
versionName "1.1"
minSdkVersion 14
targetSdkVersion 18
}
signingConfigs {
release {
storeFile file('HelloConfig.keystore')
keyAlias 'HelloConfig'
storePassword 'laser.yams.heady.testy'
keyPassword 'fw.stabs.steady.wool'
}
}
buildTypes {
debug {
applicationIdSuffix ".d"
versionNameSuffix "-debug"
}
release {
signingConfig signingConfigs.release
}
mezzanine.initWith(buildTypes.release)
mezzanine {
applicationIdSuffix ".mezz"
debuggable true
}
}
}
在这里,我说我的mezzanine
自定义构建类型应该是可调试的,在其定义中通过debuggable true
。