Android 判断是开发debug模式,还是发布release模式的方法

发布时间 - 2026-01-10 21:52:40    点击率:

如下所示:

public class LogUtils {

	public static boolean APP_DBG = false; // 是否是debug模式
	
	public static void init(Context context){
		APP_DBG = isApkDebugable(context);
	}
	
	/**
	 * 但是当我们没在AndroidManifest.xml中设置其debug属性时:
	 * 使用Eclipse运行这种方式打包时其debug属性为true,使用Eclipse导出这种方式打包时其debug属性为法false.
	 * 在使用ant打包时,其值就取决于ant的打包参数是release还是debug.
 	 * 因此在AndroidMainifest.xml中最好不设置android:debuggable属性置,而是由打包方式来决定其值.
	 * 
	 * @param context
	 * @return
	 * @author SHANHY
	 * @date  2015-8-7
	 */
	public static boolean isApkDebugable(Context context) {
    try {
      ApplicationInfo info= context.getApplicationInfo();
        return (info.flags&ApplicationInfo.FLAG_DEBUGGABLE)!=0;
    } catch (Exception e) {
      
    }
    return false;
  }
	
}

项目开发中,我们根据debug属性来输出日志。

但是有些时候我们想在给公司的测试机上安装的release版本也输出日志,那么这个时候我们到 AndroidManifest.xml 中的application 标签中添加属性强制设置debugable即可,如下:

<application android:debuggable="true" tools:ignore="HardcodedDebugMode"
....
.... />

init 方法在客户端的第一个Activity的onCreate方法中执行一下即可。

以上这篇Android 判断是开发debug模式,还是发布release模式的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


# android  # debug  # release  # android studio实现简单的计算器(无bug)  # Android Studio debug.keystore位置介绍  # Android Studio 3.5格式化布局代码时错位、错乱bug的解决  # 解决android设备断电重启后WIFI不能自动重连的BUG(收藏)  # 关于ADB的Android Debug Bridge(安卓调试桥)那些事  # Android同时安装Release和Debug版本的方法  # Android Studio 自定义Debug变量视图的方法  # Android Studio之Debug运行期代码植入的方法  # Android Studio中debug功能详解  # Android实现录音方法(仿微信语音、麦克风录音、发送语音、解决5.0以上BUG)  # 浅谈Android Studio如何Debug对应so文件C/C++代码  # Android Studio 报错“app:processDebugResources"解决方法  # Android 开发 使用WebUploader解决安卓微信浏览器上传图片中遇到的bug  # Android 常见bug汇总及解决方案  # 给大家  # 第一个  # 是由  # 希望能  # 这个时候  # 当我们  # 所示  # 这篇  # 机上  # 小编  # 大家多多  # 客户端  # void  # init  # APP_DBG  # false  # boolean  # Context  # xml 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 1688铺货到淘宝怎么操作 1688一键铺货到自己店铺详细步骤  如何在阿里云高效完成企业建站全流程?  ChatGPT 4.0官网入口地址 ChatGPT在线体验官网  DeepSeek是免费使用的吗 DeepSeek收费模式与Pro版本功能详解  重庆市网站制作公司,重庆招聘网站哪个好?  Laravel如何发送系统通知?(Notification渠道示例)  佛山企业网站制作公司有哪些,沟通100网上服务官网?  电视网站制作tvbox接口,云海电视怎样自定义添加电视源?  如何在沈阳梯子盘古建站优化SEO排名与功能模块?  ChatGPT回答中断怎么办 引导AI继续输出完整内容的方法  夸克浏览器网页跳转延迟怎么办 夸克浏览器跳转优化  Laravel软删除怎么实现_Laravel Eloquent SoftDeletes功能使用教程  Laravel怎么实现验证码功能_Laravel集成验证码库防止机器人注册  Python高阶函数应用_函数作为参数说明【指导】  HTML透明颜色代码在Angular里怎么设置_Angular透明颜色使用指南【详解】  网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?  详解jQuery中的事件  手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?  如何快速生成橙子建站落地页链接?  深圳网站制作平台,深圳市做网站好的公司有哪些?  Thinkphp 中 distinct 的用法解析  JavaScript如何实现倒计时_时间函数如何精确控制  Laravel如何连接多个数据库_Laravel多数据库连接配置与切换教程  公司网站制作需要多少钱,找人做公司网站需要多少钱?  Edge浏览器提示“由你的组织管理”怎么解决_去除浏览器托管提示【修复】  悟空识字如何进行跟读录音_悟空识字开启麦克风权限与录音  iOS UIView常见属性方法小结  如何用景安虚拟主机手机版绑定域名建站?  微信小程序 input输入框控件详解及实例(多种示例)  如何在万网自助建站平台快速创建网站?  node.js报错:Cannot find module &#39;ejs&#39;的解决办法  如何快速上传建站程序避免常见错误?  Win10如何卸载预装Edge扩展_Win10卸载Edge扩展教程【方法】  宙斯浏览器视频悬浮窗怎么开启 边看视频边操作其他应用教程  Laravel的契約(Contracts)是什么_深入理解Laravel Contracts与依赖倒置  PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)  Laravel如何使用Sanctum进行API认证?(SPA实战)  Internet Explorer官网直接进入 IE浏览器在线体验版网址  如何快速上传自定义模板至建站之星?  如何为不同团队 ID 动态生成多个独立按钮  如何彻底删除建站之星生成的Banner?  Laravel怎么上传文件_Laravel图片上传及存储配置  谷歌浏览器下载文件时中断怎么办 Google Chrome下载管理修复  详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)  Laravel如何为API编写文档_Laravel API文档生成与维护方法  Python面向对象测试方法_mock解析【教程】  Claude怎样写结构化提示词_Claude结构化提示词写法【教程】  如何在七牛云存储上搭建网站并设置自定义域名?  简单实现Android文件上传  Laravel如何使用查询构建器?(Query Builder高级用法)