博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android笔记之manifestPlaceholders
阅读量:6308 次
发布时间:2019-06-22

本文共 2034 字,大约阅读时间需要 6 分钟。

有时根据项目需要,AndroidManifest.xml中的meta-data的值分测试和正式

为了能自动地更换meta-data值,就需要用到manifestPlaceholders

语法:manifestPlaceholders = [FieldName: FieldValue]

示例如下

build.gradle (Module: app)

apply plugin: 'com.android.application'android {    compileSdkVersion 28    defaultConfig {        applicationId "com.bu_ish.debug_release_test"        minSdkVersion 19        targetSdkVersion 28        versionCode 1        versionName "1.0"        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"    }    buildTypes {        release {            minifyEnabled false            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'            buildConfigField "String", "TextToShow", "\"当前处于发布模式\""            manifestPlaceholders = [ManifestField: "发布模式下的清单字段"]        }        debug {            buildConfigField "String", "TextToShow", "\"当前处于调试模式\""            manifestPlaceholders = [ManifestField: "调试模式下的清单字段"]        }    }}dependencies {    implementation fileTree(dir: 'libs', include: ['*.jar'])    implementation 'com.android.support:appcompat-v7:28.0.0'    testImplementation 'junit:junit:4.12'    androidTestImplementation 'com.android.support.test:runner:1.0.2'    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'}

AndroidManifest.xml

上例中,名为ManifestField的meta-data的值为"发布模式下的清单字段"(Release模式下)或"调试模式下的清单字段"(Debug模式下)

获取该meta-data的示例如下

try {                    String manifestField = getPackageManager().getApplicationInfo(getPackageName(), PackageManager.GET_META_DATA).metaData.getString("ManifestField");                    new AlertDialog.Builder(MainActivity.this).setMessage(manifestField).show();                } catch (PackageManager.NameNotFoundException ex) {                    Log.e(TAG, null, ex);                }

 

转载于:https://www.cnblogs.com/buyishi/p/10523812.html

你可能感兴趣的文章
一些实用性的总结与纠正
查看>>
Kubernetes概念
查看>>
逻辑卷管理器(LVM)
查看>>
一个小代码,欢迎大佬的意见,求指正
查看>>
搭建LAMP架构
查看>>
神经网络注意力机制--Attention in Neural Networks
查看>>
Spring.Net+WCF实现分布式事务
查看>>
在Linux上高效开发的7个建议
查看>>
java数据结构 - 数组使用的代码
查看>>
个人简历-项目经验
查看>>
swoole异步任务task处理慢请求简单实例
查看>>
oracle数据泵导入分区表统计信息报错(四)
查看>>
spring技术内幕读书笔记之IoC容器的学习
查看>>
细说多线程(五) —— CLR线程池的I/O线程
查看>>
JavaScript instanceof和typeof的区别
查看>>
Hadoop文件系统详解-----(一)
查看>>
《面向模式的软件体系结构2-用于并发和网络化对象模式》读书笔记(8)--- 主动器...
查看>>
状态码
查看>>
我的友情链接
查看>>
用sqlplus远程连接oracle命令
查看>>