如何更改 Meteor 中的 AndroidManifest.xml 文件?

Posted

技术标签:

【中文标题】如何更改 Meteor 中的 AndroidManifest.xml 文件?【英文标题】:How can I change the AndroidManifest.xml file in Meteor? 【发布时间】: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 文件并启动托管,这样您就不必考虑它了。 【参考方案1】:

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

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

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

    添加

到你的 config.xml 这个:

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

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

xmlns:android="http://schemas.android.com/apk/res/android"
    仍然使用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

【讨论】:

以上是关于如何更改 Meteor 中的 AndroidManifest.xml 文件?的主要内容,如果未能解决你的问题,请参考以下文章

如何更改 Meteor 加载 Javascript 文件的顺序?

Meteor 如何执行数据库迁移?

如何在没有 Meteor 的情况下获得 Meteor 的路由/即时换页效果?

如何更改我的 android 游戏的图片/标志? - libGDX [重复]

流星如何更新浏览器?

加快 Meteor.js 中的自动重新加载