如何更改 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 的路由/即时换页效果?