【问题标题】:Patching AndroidManifest.xml is not working on Visual Studio Tools for Apache Cordova修补 AndroidManifest.xml 不适用于 Apache Cordova 的 Visual Studio 工具
【发布时间】:2015-04-04 02:38:09
【问题描述】:

我们正在升级我们已经在 Google Play 商店中发布的原生 Android 应用,新版本是使用 Visual Studio Tools for Apache Cordova 开发的。

为了能够升级商店中的应用程序,我们需要重新发布它并指定正确的版本和包 ID。

由于我们有适用于 iOS、Android 和 WP8 的单一解决方案,我们需要能够编译它并指定一个自定义清单/plist,我们将在其中设置正确的版本和包。

看了available documentation,好像也可以指定特定平台的配置文件:

Android
将自定义 AndroidManifest.xml 文件放在 res/native/android 文件夹,用于配置自定义等设置 意图。使用生成的文件版本 构建调试后的 bld/Debug/platforms/android 文件夹 Android 项目的配置。

按照建议,我们已尝试在 res/native/android 文件夹中添加不同的 AndroidManifest.xml,但构建的 apk 仍包含并使用默认的 AndroidManifest.xml

有什么提示吗?

注意:跟进this问题。

【问题讨论】:

    标签: android visual-studio-cordova


    【解决方案1】:

    某些字段被插件和 Cordova 构建过程本身覆盖。这个更新后的清单成为 Cordova 然后扩充的基础。

    不幸的是,包 ID 和版本是 Cordova 覆盖的两个字段。这些字段应该在 config.xml 中修改。您可以使用设计器或查看代码,并在小部件元素下修改这两个属性。

    id="my.applicaiton.id" version="1.0.0"

    附带说明,查看您的自定义清单是否被拾取的一种简单方法是将 AndroidManifest.xml 中的 android:name 更新为不同的内容。然后,当您构建生成的 apk 时,应该会反映这个新名称。

    【讨论】:

    • 其他两个平台上的补丁好像都很好。你知道为什么补丁Plist WMAppManifest.xml可以覆盖包ID和版本没有问题吗?似乎只有 Android 不起作用并且具有不同的行为。 Android 平台的构建是否不同?
    • 每个平台都使用自己的原生构建过程,所以是的,每个平台的工作方式都可能存在细微差别。但是,Windows Phone 8 似乎也覆盖了至少从我刚刚进行的冒烟测试中得出的版本值。
    【解决方案2】:

    http://developer.android.com/guide/topics/manifest/manifest-intro.html

    每个应用程序都必须有一个 AndroidManifest.xml 文件(带有 正是该名称)在其根目录中。清单文件显示 有关您的应用的基本信息到 Android 系统, 系统在运行任何应用程序之前必须拥有的信息 代码。

    所以我认为在构建应用程序期间,Cordova 需要将主清单文件替换为您的设备特定版本。

    另外,config.xml 文件有帮助吗?
    http://cordova.apache.org/docs/en/edge/config_ref_index.md.html#The%20config.xml%20File

    【讨论】:

    • 抱歉,我没有得到您的答复。你试过了吗?它对你有用吗?
    猜你喜欢
    • 2015-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-03
    相关资源
    最近更新 更多