我正在考虑有一个脚本,它将分支信息作为 XML 添加到清单中作为自定义属性或作为单独的 XML 文件。理想情况下,这可以由 PackageManager 公开访问。这可能吗?
您已将元素添加<meta-data>
到组件的元素(例如,<activity>
)并通过以下方式访问元数据 XML 内容PackageManager
:
<receiver android:name="com.commonsware.cwac.wakeful.AlarmReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
</intent-filter>
<meta-data
android:name="com.commonsware.cwac.wakeful"
android:resource="@xml/wakeful"/>
</receiver>
该组件将通过如下代码访问元数据:
PackageManager pm=ctxt.getPackageManager();
ComponentName cn=new ComponentName(ctxt, getClass());
ActivityInfo ai=pm.getReceiverInfo(cn, PackageManager.GET_META_DATA);
XmlResourceParser xpp=ai.loadXmlMetaData(pm, "com.commonsware.cwac.wakeful");
然后,您的自定义构建过程可以调整指向的 XML 资源<meta-data>
以包含您想要的任何内容。
或者,我可以以编程方式更改 APK 名称吗?
您可以在硬盘驱动器上随意命名 APK 文件,但我不会指望该名称在安装过程中保持不变。