0
每當我在我的android應用程序中將「調試」的值設置爲「true」時,就會出現錯誤。 錯誤的描述是:「避免對調試模式進行硬編碼;將其保留,允許調試和發佈構建自動分配一個」。爲什麼在android應用程序中將「debugging」的值設置爲「true」時會出現錯誤?
每當我在我的android應用程序中將「調試」的值設置爲「true」時,就會出現錯誤。 錯誤的描述是:「避免對調試模式進行硬編碼;將其保留,允許調試和發佈構建自動分配一個」。爲什麼在android應用程序中將「debugging」的值設置爲「true」時會出現錯誤?
擺脫清單中的android:debuggable="true"
。
首先,你可能不需要它。即使在Eclipse中,正常的IDE構建也可以自動調試,就像模擬器上的任何進程一樣。生產硬件上的版本構建不會是可調試的,出於安全原因,這正是您想要的。
如果您需要更多的靈活性,並且您正在使用Android Studio/Gradle for Android,請在build.gradle
中設置自定義生成類型來爲其他方案建模。默認debug
構建類型將使應用程序可調試;構建類型的默認release
會使您的應用程序無法調試。在其定義
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
:自定義生成類型可以使用debuggable
聲明說明他們應該做什麼。