通过AndroidManifest中的meta-data标签来设置log开关
来源:互联网 发布:ubuntu 解压缩 编辑:程序博客网 时间:2024/05/16 07:18
通过AndroidManifest中的meta-data标签来设置log开关
一般来说,我们在APP项目中可以通过BuildConfig.DEBUG来控制Log的开关,这样在调试的版本有log,release版本没有log。如果我们在sdk(或lib)中需要调试代码怎么办?我们可以通过在AndroidManifest.xml中定义一个标签,通过获取标签来控制log打开和关闭。
代码如下:
sdk(或lib)中代码:
LogManager类
public class LogManager { private static boolean logSwitch = false; //在APP的初始化的时候调用 public static void init(Context c) { c = c.getApplicationContext(); try { PackageManager packageManager = c.getPackageManager(); ApplicationInfo applicationInfo = packageManager.getApplicationInfo(c.getPackageName(), PackageManager.GET_META_DATA); Bundle metaData = applicationInfo.metaData; LogManager.logSwitch = metaData.getBoolean("log_switch"); } catch (Exception e) { e.printStackTrace(); } } public static void e(String tag, String message) { if (logSwitch) { Log.e(tag, message); } }}
APP的代码:
App类:
public class App extends Application { @Override public void onCreate() { super.onCreate(); LogManager.init(getApplicationContext()); }}
MainActivity类
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); LogManager.e("zhang", "测试OK"); }}
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.yundoku.demo201708"> <application android:name=".App" android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <!--lib中的log开关控制,关闭log可以将value的值设为false或者删除该标签信息--> <meta-data android:name="log_switch" android:value="true"/> </application></manifest>
阅读全文
0 0
- 通过AndroidManifest中的meta-data标签来设置log开关
- AndroidManifest.xml中的<meta-data>属性介绍
- 获取AndroidManifest.xml中的meta-data数值
- Android读取AndroidManifest.xml中的<meta-data>元素
- gradle修改AndroidManifest.xml中的meta-data元素值
- 使用 ApplicationInfo 读取 AndroidManifest.xml 中的meta-data信息
- Android:通过build gradle中的buildTypes设置自动log开关(一)
- Android:通过build gradle中的buildTypes设置自动log开关(二)
- AndroidManifest.xml <meta-data>组件
- AndroidManifest.xml 之 meta-data
- meta-data标签
- AndroidManifest.xml中使用Meta-Data
- AndroidManifest.xml文件详解(meta-data)
- AndroidManifest.xml文件详解(meta-data)
- AndroidManifest.xml文件详解(meta-data)
- AndroidManifest.xml文件详解(meta-data)
- 获取AndroidManifest.xml中<meta-data>元素
- AndroidManifest.xml——meta-data
- 自定义view圆并随手指移动
- 海外 | 恶意软件在Docker里作妖儿,本地化管理命令子集才是王道,你怎么看?
- a 标签和button按钮返回上个页面
- C# 根据Url获取页面所有内容
- 机器学习&数据挖掘笔记
- 通过AndroidManifest中的meta-data标签来设置log开关
- R语言 生成图片 存储图片 存储图片格式 存储位置
- Spring JavaMailSender发送邮件
- python学习(基础补充)--字符串、列表、元组
- SQLite学习手册(C/C++接口简介)
- 位运算训练04—输入一个整数a,再输入两个整数p(p<32),v(0|1);将该整数a的p位设置为v,输出修改后的该整数的二进制表示
- Intellij IDEA 2017 详细图文教程之概述
- 支付宝借呗到底上不上征信?
- hdfs心跳机制