纯AS3创建Android manifest xml

Posted

技术标签:

【中文标题】纯AS3创建Android manifest xml【英文标题】:Creating Android manifest xml by pure AS3 【发布时间】:2018-11-12 06:51:45 【问题描述】:

有人可以仅使用动作脚本代码创建此清单 xml 吗?我想创建一个创建清单文件的应用程序,但我遇到了前缀和命名空间问题:

<manifest android:installLocation="auto">
    <uses-sdk android:minSdkVersion="9" android:targetSdkVersion="22" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.INTERNET"/>
</manifest>

要生成的非常简单的示例动作脚本代码:

main = new XML(<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:installLocation="auto"/>);
main.appendChild(<uses-sdk android:minSdkVersion="9" android:targetSdkVersion="22" />)

原因:

TypeError: Error #1083: The prefix "android" for element "minSdkVersion" is not bound.

我不知道如何为 XML 文件设置前缀。

【问题讨论】:

new XML(...) 构造函数将 String 作为参数,而您传递的是 XML 对象。 Action Script 支持 JSX 到。但我更改了代码以确保您确定: main = new XML('schemas.android.com/apk/res/android" android:installLocation="auto"/>'); main.appendChild(new XML('')).同样的错误 【参考方案1】:

好的,所以我稍微戳了一下,这就是我的想法。

这行得通:

var M:XML =

<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:installLocation="auto">
    <uses-sdk android:minSdkVersion="9" android:targetSdkVersion="22" />
</manifest>;

这不是:

var M:XML;

M = <manifest xmlns:android="http://schemas.android.com/apk/res/android" android:installLocation="auto" />;
M.appendChild(<uses-sdk android:minSdkVersion="9" android:targetSdkVersion="22" />);

我不是 XML 专家,但我猜是因为以下原因。我们可以将最后一段代码翻译为:

var U:XML = <uses-sdk android:minSdkVersion="9" android:targetSdkVersion="22" />;
var M:XML = <manifest xmlns:android="http://schemas.android.com/apk/res/android" android:installLocation="auto" />;

M.appendChild(U);

我明确地将 U 放在 M 之前,因为这里的顺序无关紧要,但这样一来就可以不言自明了。

如果你这样看,你会清楚地看到 android 前缀只存在于 M 中,而从未存在于 U 中。 Flash Player 没有预识别模块,也不知道您打算将 U 仅作为 M 的一部分。然后,作为一个单独的 XML 实例,U 在您尝试创建它时是无效的。

【讨论】:

谢谢,但我必须对前缀做点什么。因为我要开发一个动态的 XML 生成器,我应该通过一个函数来改变 minSdk 和其他的。 @MESepehr 您可以将所有节点构造为 String,然后将 new XML(...) 作为一个整体创建。或者您可以先创建整个 XML,然后使用其属性。

以上是关于纯AS3创建Android manifest xml的主要内容,如果未能解决你的问题,请参考以下文章

phonegap 构建应用程序的 Manifest.xml 和 config.xml 之间的区别

AS3:如何激活android air app?

Wifi连接与使用

纯AS3项目中如何引用fl包中的类

android新创建Activity是不是需要在Manifest文件中注册,如何进行注册

Android Launcher3简介