gradle中设置变量,在代码中读取

在app的gradlew文件中设置变量appModelCode,设置manifestPlaceholders

android {def appModelCode = 1 //1:模式1 2:模式2def appModelName = "model1"if (appModelCode == 1) {...}defaultConfig {applicationId appIdminSdk 26targetSdk 32versionCode appVerCodeversionName appVerNametestInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"manifestPlaceholders = [appName     : appModeName,appModelCode: appModelCode,appModeName : appModeName]}
}

在AndroidManifest.xml中的application标签中设置

<application><meta-data android:name="appModelCode" android:value="${appModelCode}"/><meta-data android:name="appModeName" android:value="${appModeName}"/>
</application>

代码中获取AndroidManifest.xml中的值

int code = (Integer) AppUtil.getApplicationPlaceholders(this, "appModelCode");
String name = (String) AppUtil.getApplicationPlaceholders(this, "appModeName");

getApplicationPlaceholders方法

/*** 在Application获取 manifestPlaceholders 的值** @param context* @param key* @return*/public static Object getApplicationPlaceholders(Context context, String key) {Object placeholdersValues = null;try {ApplicationInfo appInfo = context.getPackageManager().getApplicationInfo(context.getPackageName(), PackageManager.GET_META_DATA);if (appInfo == null) {return placeholdersValues;}Bundle metaData = appInfo.metaData;if (metaData == null) {return placeholdersValues;}placeholdersValues = metaData.get(key);} catch (PackageManager.NameNotFoundException e) {e.printStackTrace();}return placeholdersValues;}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/718929.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

音视频数字化(视频线缆与接口)

目录 1、DVI接口 2、DP接口 之前的文章【音视频数字化(线缆与接口)】提到了部分视频线缆,今天再补充几个。 视频模拟信号连接从莲花头的“复合”线开始,经历了S端子、色差分量接口,通过亮度、色度尽量分离的办法提高画面质量,到VGA已经到了模拟的顶峰,实现了RGB的独立…

android 推荐一个上拉加载更多,下拉刷新的框架(非常好用)

作者&#xff1a;scwang 大神 GitHub - scwang90/SmartRefreshLayout: &#x1f525;下拉刷新、上拉加载、二级刷新、淘宝二楼、RefreshLayout、OverScroll&#xff0c;Android智能下拉刷新框架&#xff0c;支持越界回弹、越界拖动&#xff0c;具有极强的扩展性&#xff0c;…

一文读懂Penpad 以 Fair Launch 方式推出的首个资产 PEN

随着 2 月 28 日比特币重新站上 6 万美元的高峰后&#xff0c;标志着加密市场正在进入新一轮牛市周期。在 ETF 的促进作用下&#xff0c;加密市场不断有新的资金流入&#xff0c;加密货币总市值不断攀升。Layer2 市场率先做出了反应&#xff0c;有数据显示&#xff0c;当前以太…

2020PAT--冬

The Closest Fibonacci Number The Fibonacci sequence Fn​ is defined by Fn2​Fn1​Fn​ for n≥0, with F0​0 and F1​1. The closest Fibonacci number is defined as the Fibonacci number with the smallest absolute difference with the given integer N. Your job…

Spring初始(相关基础知识和概述)

Spring初始&#xff08;相关基础知识和概述&#xff09; 一、Spring相关基础知识&#xff08;引入Spring&#xff09;1.开闭原则OCP2.依赖倒置原则DIP3.控制反转IoC 二、Spring概述1.Spring 8大模块2.Spring特点2.Spring的常用jar文件 一、Spring相关基础知识&#xff08;引入S…

除微信视频号下载器还有哪些可以应用可以下载视频?

市面上有很多视频号下载器&#xff0c;但犹豫部分视频号下载器逐步失效&#xff0c;就有很多小伙伴问还有哪些可以应用可以下载视频&#xff1f; 视频下载助手 除视频号视频下载器以外&#xff0c;还有【视频号下载助手】简称&#xff1a;视频下载助手 比如说&#xff0c;抖音…

spring cloud 之 Netflix Eureka

1、Eureka 简介 Eureka是Spring Cloud Netflix 微服务套件中的一个服务发现组件&#xff0c;本质上是一个基于REST的服务&#xff0c;主要用于AWS云来定位服务以实现中间层服务的负载均衡和故障转移,它的设计理念就是“注册中心”。 你可以认为它是一个存储服务地址信息的大本…

18个惊艳的可视化大屏(第14辑):能源行业应用

能源行业涉及能源生产、转化、储存、输送和使用的各个领域和环节&#xff0c;包括石油和天然气行业、煤炭行业、核能行业、可再生能源行业和能源服务行业&#xff0c;本期贝格前端工场带来能源行业可视化大屏界面供大家欣赏。 能源行业的组成 能源行业是指涉及能源生产、转化、…

Android 11.0 禁止系统界面下拉状态栏和通知栏 手机 平板 车载 TV 投影 通用

1、禁止systemUI下拉状态栏和通知栏的核心代码部分 framework/base/packages/apps/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java framework/base/packages/apps/SystemUI/src/com/android/systemui/statusbar/phone/CollapsedStatusBarFragment.jav…

数字化转型导师坚鹏:金融机构数字化运营

金融机构数字化运营 课程背景&#xff1a; 很多金融机构存在以下问题&#xff1a; 不清楚数字化运营对金融机构发展有什么影响&#xff1f; 不知道如何提升金融机构数字化运营能力&#xff1f; 不知道金融机构如何开展数字化运营工作&#xff1f; 课程特色&#xff1a;…

盘点全网哪些超乎想象的高科技工具?有哪些免费开源的最新AI智能工具?短视频自媒体运营套装?

盘点全网哪些超乎想象的高科技工具&#xff1f;有哪些免费开源的最新AI智能工具&#xff1f;短视频自媒体运营套装&#xff1f; 自媒体主要用来干什么&#xff1f; 可以通过短视频吸引更多的观众和粉丝&#xff0c;提升自媒体账号的影响力和知名度。 短视频形式更加生动、直观…

使用C++界面框架ImGUI开发一个简单程序

简介 ImGui 是一个用于C的用户界面库&#xff0c;跨平台、无依赖&#xff0c;支持OpenGL、DirectX等多种渲染API&#xff0c;是一种即时UI&#xff08;Immediate Mode User Interface&#xff09;库&#xff0c;保留模式与即时模式的区别参考保留模式与即时模式。ImGui渲染非常…

关于企业数字化转型:再认识、再思考、再出发

近年来&#xff0c;随着国家数字化政策不断出台、新兴技术不断进步、企业内生需求持续释放&#xff0c;数字化转型逐步成为企业实现高质量发展的必由之路&#xff0c;成为企业实现可持续发展乃至弯道超车的重要途径。本文重点分析当下阻碍企业数字化转型的难点&#xff0c;提出…

SPC 之 I-MR 控制图

概述 1924 年&#xff0c;美国的休哈特博士应用统计数学理论将 3Sigma 原理运用于生产过程中&#xff0c;并发表了 著名的“控制图法”&#xff0c;对产品特性和过程变量进行控制&#xff0c;开启了统计过程控制新时代。 什么是控制图 控制图指示过程何时不受控制&#xff…

通过 Jenkins 经典 UI 创建一个基本流水线

通过 Jenkins 经典 UI 创建一个基本流水线 点击左上的 新建任务。 在 输入一个任务名称字段&#xff0c;填写你新建的流水线项目的名称。 点击 流水线&#xff0c;然后点击页面底部的 确定 打开流水线配置页 点击菜单的流水线 选项卡让页面向下滚动到 流水线 部分 在 流水线 …

TransactionTemplate的使用【事务】

1.1 事务 spring给我们提供了编程式事务以及声明式两种事务。比如我们日常写的基于XML配置的事务管理以及基于注解的方式都是一个声明式事务&#xff0c;但是有很多同学在使用注解方式的时候会出现很多时候事务不生效的问题&#xff0c;可能是同学没有完全理解到其中的原理。这…

微信小程序开发学习笔记《19》uni-app框架-配置小程序分包与轮播图跳转

微信小程序开发学习笔记《19》uni-app框架-配置小程序分包与轮播图跳转 博主正在学习微信小程序开发&#xff0c;希望记录自己学习过程同时与广大网友共同学习讨论。建议仔细阅读uni-app对应官方文档 一、配置小程序分包 分包可以减少小程序首次启动时的加载时间 为此&#…

YOLOV5学习

【目标检测】yolov5模型详解-CSDN博客

如何使用生成式人工智能探索视频博客的魅力?

视频博客&#xff0c;尤其是关于旅游的视频博客&#xff0c;为观众提供了一种全新的探索世界的方式。通过图像和声音的结合&#xff0c;观众可以身临其境地体验到旅行的乐趣和发现的喜悦。而对于内容创作者来说&#xff0c;旅游视频博客不仅能分享他们的旅行故事&#xff0c;还…

模拟算法题练习(一)(扫雷,灌溉,回文日期)

目录 模拟算法介绍&#xff1a; &#xff08;一、扫雷&#xff09; &#xff08;二、灌溉&#xff09; &#xff08;三、回文日期&#xff09; 有一说一这题大佬的题解是真的强 模拟算法介绍&#xff1a; 模拟算法通过模拟实际情况来解决问题&#xff0c;一般容易理解但是实…