我在启动调试版本类型的应用程序时遇到了问题。我有依赖于库的应用程序,它依赖于另一个库。我切换了所有的东西来调试构建变体,就像在图像中一样。

问题是,在库中,我几乎没有在调试中关闭的功能,比如loggin和analytics,但是库每次都以版本构建类型编译。
在Gradle控制台中,我看到应用程序在调试变体中编译,但它所依赖的每个项目都在版本变体中编译。
Executing tasks: [:app:assembleDebug]
Parallel execution with configuration on demand is an incubating feature.
/home/cooperok/AndroidStudioWorkspace/MyApp/app/build/outputs/apk/app-debug.apk
app-debug-1.0.5.apk
/home/cooperok/AndroidStudioWorkspace/MyApp/app/build/outputs/apk/app-release.apk
app-release-1.0.5.apk
:app:preBuild
:library:compileLint UP-TO-DATE
:app:preDebugBuild UP-TO-DATE
:app:checkDebugManifest
:library:copyReleaseLint UP-TO-DATE
:library:preBuild
:library-2:compileLint UP-TO-DATE
:library-2:copyReleaseLint UP-TO-DATE
:library:preReleaseBuild
:library-2:mergeReleaseProguardFiles UP-TO-DATE
:library:checkReleaseManifest
:library:preReleaseUnitTestBuild UP-TO-DATE
:library:generateReleaseBuildConfig UP-TO-DATE
:library-2:preBuild UP-TO-DATE
:library-2:preReleaseBuild UP-TO-DATE
:library-2:checkReleaseManifest
:library-2:prepareReleaseDependencies UP-TO-DATE
:library:generateReleaseAssets UP-TO-DATE
:library:generateReleaseResValues UP-TO-DATE
:library:processReleaseJavaRes UP-TO-DATE
:library:mergeReleaseProguardFiles UP-TO-DATE
:library:compileReleaseNdk UP-TO-DATE
:library:packageReleaseJniLibs UP-TO-DATE
:library:packageReleaseLocalJar UP-TO-DATE
:library:packageReleaseRenderscript
:library-2:compileReleaseAidl UP-TO-DATE
:app:generateDebugBuildConfig UP-TO-DATE
:app:generateDebugAssets UP-TO-DATE
:app:generateDebugResValues UP-TO-DATE
:library:preReleaseBuild UP-TO-DATE
:library-2:compileReleaseRenderscript
:app:processDebugJavaRes UP-TO-DATE
:app:compileDebugNdk UP-TO-DATE
:app:validateDebugSigning
:library-2:compileReleaseRenderscript UP-TO-DATE
:library-2:generateReleaseBuildConfig UP-TO-DATE
:library-2:generateReleaseAssets UP-TO-DATE
:library-2:mergeReleaseAssets UP-TO-DATE
:library-2:generateReleaseResValues UP-TO-DATE
:library-2:generateReleaseResources UP-TO-DATE
:library-2:packageReleaseResources UP-TO-DATE
:library-2:processReleaseManifest UP-TO-DATE
:library-2:processReleaseResources UP-TO-DATE
:library-2:generateReleaseSources UP-TO-DATE
:library-2:processReleaseJavaRes UP-TO-DATE
:library-2:compileReleaseJava UP-TO-DATE
:library-2:packageReleaseJar UP-TO-DATE
:library-2:compileReleaseNdk UP-TO-DATE
:library-2:packageReleaseJniLibs UP-TO-DATE
:library-2:packageReleaseLocalJar UP-TO-DATE
:library-2:packageReleaseRenderscript UP-TO-DATE
:library-2:bundleRelease UP-TO-DATE
:library:prepareComAndroidSupportSupportV42211Library UP-TO-DATE
:library:prepareComCrashlyticsSdkAndroidAnswers122Library UP-TO-DATE
:library:prepareComCrashlyticsSdkAndroidBeta112Library UP-TO-DATE
:library:prepareComCrashlyticsSdkAndroidCrashlytics232Library UP-TO-DATE
:library:prepareComCrashlyticsSdkAndroidCrashlyticsCore232Library UP-TO-DATE
:library:prepareComGoogleAndroidGmsPlayServicesBase730Library UP-TO-DATE
:library:prepareComGoogleAndroidGmsPlayServicesMaps730Library UP-TO-DATE
:library:prepareIoFabricSdkAndroidFabric133Library UP-TO-DATE
:library:prepareReleaseDependencies
:library:compileReleaseAidl
:library:compileReleaseRenderscript UP-TO-DATE
:library:mergeReleaseAssets UP-TO-DATE
:library:generateReleaseResources UP-TO-DATE
:library:mergeReleaseResources UP-TO-DATE
:library:processReleaseManifest UP-TO-DATE
:library:processReleaseResources UP-TO-DATE
:library:generateReleaseSources
:library:compileReleaseJava因此,在编译项目变量后,库中的BuildConfig.DEBUG是假的。
如何编译调试版本变体中的所有内容?
发布于 2015-07-14 07:01:32
事实证明,这是一个众所周知的问题,而且自2013年以来,code.google.com就出现了漏洞报告。
我在那里创立了解决方案。若要运行所需的生成变体中的每个项目,应在依赖项项目中设置此值。
android {
publishNonDefault true
...
}在使用它的项目中
dependencies {
releaseCompile project(path: ':theotherproject', configuration: 'release')
debugCompile project(path: ':theotherproject', configuration: 'debug')
}https://stackoverflow.com/questions/31379267
复制相似问题