android 一个安装包。两个名称,两种字符串
程序员文章站
2022-06-23 08:29:50
存到清单文件
存到清单文件
<meta-data
android:name="privacy_policy_des"
android:value="${privacy_policy_des}"
tools:node="replace"/>
<meta-data
android:name="user_agreement_des"
android:value="${user_agreement_des}"
tools:node="replace"/>
在app的Gradle中的
内添加如下代码
productFlavors.all { flavor ->
if (name.equals("huawei") || name.equals("vivo")) {
//修改app名字,string资源下不能包含"app_name"
flavor.manifestPlaceholders = [
user_agreement_des : "@string/user_agreement_des_others",
privacy_policy_des : "@string/privacy_policy_des_others"
]
} else {
flavor.manifestPlaceholders = [
user_agreement_des : "@string/user_agreement_des",
privacy_policy_des : "@string/privacy_policy_des"
]
}
}
安卓(Android) 怎么从清单(Manifest)中获取元数据(Metadata)
package com.anguomob.camera.utlis
import android.content.Context
import android.content.pm.PackageManager
/**
* Create by: liuan
* Create date: 2020-10-29 0029
* Describe:
*/
object ManifestUtils {
fun getMetadata(context: Context, key: String?): String {
try {
val metaData = context.packageManager
.getApplicationInfo(context.packageName,
PackageManager.GET_META_DATA).metaData
return metaData[key].toString()
} catch (e: PackageManager.NameNotFoundException) {
e.printStackTrace()
}
return ""
}
fun getPackageName(context: Context): String {
try {
return context.packageManager.getPackageInfo(
context.packageName, 0).packageName
} catch (e: PackageManager.NameNotFoundException) {
e.printStackTrace()
}
return ""
}
}
然后就可以获取到了
上述文章好像没有讲到如何修改两个app名字
其实变量名称改一下改成APP_NAME 然后 做同样的操作就可以了 就不用使用 meta-data概念了
本文地址:https://blog.csdn.net/mp624183768/article/details/109355714
上一篇: 实验报告