我有一个项目设置有两种构建类型:调试和发布.
在我的app模块中,我有三个不同的目录:debug,release和main.
我想要做的是测试发布目录中的代码,但我似乎唯一能做的就是生成一个签名的apk并将其加载到仿真器上.这意味着我无法正确调试它.
当我将应用程序模块的构建版本更改为版本时,我在“编辑配置”弹出窗口中收到以下错误.
Error: The apk for your currently selected variant
(app-release-unsigned.apk_ is not signed. Please specify a signing
configuration for this variant (release).
我希望做的是在app模块的build.gradle文件中扩展一个名为debugRelease的release build变体,然后继承release文件中的代码,但我可以在IDE中运行它.
我可能会以错误的方式看待这个问题,我很乐意听到任何其他技巧.
我可以做我想做的事吗?如果不是最好的解决方案是什么?
解决方法:
经过大量的研究后,我决定继续使用我的debugRelease想法,它似乎运行良好.
我在app / src下创建了一个名为debugRelease / java的新目录.在那里,当我生成签名的apk或发布版本时,我放置了我想要的不同代码.
这样做使我能够测试代码的工作原理并能够对其进行调试.当然,这不是经常做的,它只是崩溃报告和记录差异,但是,在我需要修复bug或其他东西时,我可以.
在我的build.gradle文件中,我有以下设置.
buildTypes {
release {
}
debug {
}
debugRelease {
signingConfig signingConfigs.debug
}
}
sourceSets {
debugRelease {
res.srcDirs = ['src/debug/res'] // this uses the debug's res directory which contains a "debug" icon
}
release {
java.srcDirs = ['src/debugRelease/java'] // this avoids copying across code from the debugRelease java directory
}
}
所以现在当我想测试发布代码时,我只是将构建变量更改为debugRelease.
标签:android,android-studio,gradle
来源: https://codeday.me/bug/20190623/1270081.html