用户登录
用户注册

分享至

android 一个安装包。两个名称,两种字符串

  • 作者: 汪_辉煌
  • 来源: 51数据库
  • 2021-08-20

存到清单文件

        <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概念了

软件
前端设计
程序设计
Java相关