考虑到你不能依赖BuildConfig,你如何区分Android开发中的发布版本和调试版本。DEBUG标志?
我使用Android Studio与Gradle和更喜欢产生释放/调试构建使用Gradle任务,我也需要它来产生那些在TeamCity。
例如,我需要使用不同的String
值进行发布和调试。我要做的是将它们分别存储在main
和debug
文件夹中,以便根据构建选择合适的文件夹。这是可以的,但是如果我需要在中有一个
标志
来决定走哪条路呢?
您可以检查是否进行了模糊处理:
package com.example.customandroid;
public abstract class DebugBuildChecker {
public static boolean isDebugBuild() {
//Log.d("~~~","class="+DebugBuildChecker.class.getName());
return DebugBuildChecker.class.getName().endsWith(".DebugBuildChecker");
}
}
混淆之后,类名将类似于com。实例a、 a
,函数将返回false。当然,可以告诉proguard保留这个类的名称;只要别这么做,支票就行了。
您可以通过以下方式检查应用程序是否可调试
boolean isDebuggable = (0 != (getApplicationInfo().flags & ApplicationInfo.FLAG_DEBUGGABLE));
在您的build.gradle
中添加一个后缀来调试版本
android {
signingConfigs {
buildTypes {
debug {
versionNameSuffix = "-DEBUG"
}
}
}
}
然后在运行时检查版本名称:
PackageInfo pInfo = getPackageManager().getPackageInfo(getPackageName(), 0);
mBuildVersion = pInfo.versionName;
if(mBuildVersion.contains("DEBUG")){
// DEBUG
}
Package dependencies are critical to the success of a package. When you develop the functionality of your package, you will very likely use existing code defined in other packages. Those packages then
问题内容: 简短版的问题: 如何让gdb使用libc的调试符号? 较长的版本: 我正在使用gdb调试程序,我想查看有关libc使用的futex的信息。但是,在调试过程中的某个时刻,我得到如下输出: 当我在断点处在gdb中运行时,我看到: 当我跑步时,我看到: 我正在使用Ubuntu 10.04,我认为带有调试符号的libc版本在中。我尝试将变量设置为在路径的开头,但这似乎没有什么不同。 我尚不清楚
我需要进行3个相关的WebClient API调用。最后,我想要一个最终响应对象的Mono。我需要使用第一个API响应中的值来调用第二个API(它将返回Purchase类的Mono)。Purchase类将包含2个成员变量 用户对象 现在,对于列表中的每个值,我需要进行第三次API调用。然后将最终的mono对象返回到控制器 目前,我一直在研究如何为列表中的每个值(由第二个API返回)异步调用第三个A
我有一个Android项目,它依赖于纯Java项目。它们都依赖于另一个Java库,也在我在Android Studio中的多项目gradle集中。我有两个版本的库,希望Android和Java项目在调试模式下依赖其中一个,在发布模式下依赖另一个。 Android项目有可能吗?纯Java项目?怎样
我需要为我的一个子项目构建一个jar,包括依赖项,以便它可以用作。 我有一个多模块的sbt项目,这个模块是最低级别的(也是纯Java)。 我可以(例如使用sbt-onejar、sbt-proGuard或sbt组件)覆盖最低级别模块的打包方式吗? 看起来这些工具真的被设计成发布后的步骤,但是我真的需要一个(替换或附加的)发布的人工制品来包含依赖项(但只适用于这一个模块)。 更新:发布sbt程序集是针
我在IntelliJ IDEA community Edition上调试Java spring-boot应用程序时遇到了困难。主要的问题是,IDE不会在断点上停止,即使程序确实通过断点执行。我怎样才能使智能的想法停止在断点上? Maven配置,命令为:spring-boot:run。在启动之前,我构建项目。