有人知道 list 中 original-package 的确切用途是什么吗?

我刚刚从 manifest attr 链接收到以下评论。但是不知道怎么用,具体什么时候用?



如果有人知道,请详细解释一下?

最佳答案

简而言之,这是一个私有(private)属性,适用于系统包。即如果系统包出于某种原因想要更改包名称作为维护版本的一部分,这是可行的。

更多细节:

< original-package /> // original-package Should notify PackageManager to do the replacement

每个 Packageparser.java
if (tagName.equals("original-package")) {
            sa = res.obtainAttributes(attrs,
com.android.internal.R.styleable.AndroidManifestOriginalPackage);
String orig =sa.getNonConfigurationString(
com.android.internal.R.styleable.AndroidManifestOriginalPackage_name, 0);
if (!pkg.packageName.equals(orig)) {
   if (pkg.mOriginalPackages == null) {
               pkg.mOriginalPackages = new ArrayList<String>();
               pkg.mRealPackage = pkg.packageName;
             }
        pkg.mOriginalPackages.add(orig);
      }
    sa.recycle();
    XmlUtils.skipCurrentTag(parser);
}

私有(private)标签来声明这个包是的原始包名
基于。仅用于安装在系统镜像中的软件包。如果
给定的,与实际的包名不同,并且给定的
原始软件包以前安装在设备上,但新的
一个不是,那么旧的数据将被重命名为
对于新包。 #AndroidManifest list 标签。
<declare-styleable name="AndroidManifestOriginalPackage"parent="AndroidManifest">
<attr name="name" />
</declare-styleable>`

10-07 19:58
查看更多