有人知道 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>`