【问题标题】:How can I change the AndroidManifest.xml file in Meteor?如何更改 Meteor 中的 AndroidManifest.xml 文件?
【发布时间】:2015-02-26 12:12:12
【问题描述】:

我需要在 Meteor Cordova 项目中添加一些活动,即:

android:windowSoftInputMode="adjustPan"

android:configChanges="orientation|keyboardHidden"

App.setPreference 似乎不适用于 mobile-config.js 中的活动,而 App.setActivity 似乎不存在。
mobile-config.js 上的文档可在 here 获得。

目前有什么办法吗?

【问题讨论】:

  • 您使用的是PhoneGap Build 还是CLI tools
  • @sanfor 我正在使用 Meteor 的构建工具,我不确定它使用的是哪个(很可能是 CLI)。他们根据项目为您生成 XML 文件并启动托管,这样您就不必考虑它了。

标签: android cordova meteor


【解决方案1】:

我很确定您需要做的是指定here。基本上你需要做的是

  1. 在您的项目中的文件夹 cordova-build-override/ 下创建一个文件 config.xml

  2. 复制通过创建新的 Cordova 项目生成的基本 config.xml

  3. 添加

到你的 config.xml 这个:

<application
    android:windowSoftInputMode="adjustPan"
    android:configChanges="orientation|keyboardHidden" />
  1. 确保你有这个

在您的 widget 标签中,android 可用:

xmlns:android="http://schemas.android.com/apk/res/android"
  1. 仍然使用App.setPreference等来设置正常的细节。

是的,我知道这很 hacky,但这是有道理的,因为 Meteor 在内部使用 Cordova,并且只有那些“正常”的 config.xml 选项是可配置的。

【讨论】:

  • 嘿,我试过了,但没用。我发布了一个目前似乎可行的解决方案。它可能与应用程序标签有关,而不是使用活动标签。
【解决方案2】:

AndroidManifest.xml 文件可以直接编辑,它似乎不会在构建时被删除。

文件位于:
.meteor/local/cordova-build/platforms/android

从那里可以将活动直接添加到主要活动中。

我仍在尝试找出一种方法让它在推送到不同的服务器时工作,因为不包括 .meteor 文件夹。

【讨论】:

  • 能否将其推送到其他服务器?
  • 不,我们修改 .meteor/local/cordova-build/platforms/android/AndroidManifest.xml ,然后构建......没有任何变化。相同的错误,相同的行号。见github.com/meteor/meteor/issues/5840#issuecomment-186184372
  • 直接编辑不起作用。只要构建完成,更改就会被覆盖。
【解决方案3】:

我相信当前(截至 2020 年)解决此问题的方法是在应用目录的根目录中使用 mobile-config.js 文件。 见流星文档https://docs.meteor.com/api/mobile-config.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-28
    • 2011-12-03
    • 2012-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-07
    相关资源
    最近更新 更多