我可以控制<;支持屏幕>;从my Cordova config.xml设置AndroidManifest.xml文件?

我可以控制<;支持屏幕>;从my Cordova config.xml设置AndroidManifest.xml文件?,android,cordova,build,android-manifest,Android,Cordova,Build,Android Manifest,在从Cordova CLI进行构建时,我希望能够控制AndroidManifest.xml文件中的“supports screens”元素 具体而言,我希望控制AndroidManifest.xml中的以下元素: <supports-screens android:anyDensity="true" android:largeScreens="true" android:normalScreens="true" android:resizeable="

在从Cordova CLI进行构建时,我希望能够控制AndroidManifest.xml文件中的“supports screens”元素

具体而言,我希望控制AndroidManifest.xml中的以下元素:

    <supports-screens android:anyDensity="true" 
    android:largeScreens="true" 
    android:normalScreens="true" 
    android:resizeable="true" 
    android:smallScreens="true" 
    android:xlargeScreens="true" />

理想情况下,我希望Cordova config.xml文件中有一个可用的设置,可以让我直接控制支持的屏幕大小

我尝试过使用config.xml设置,如以下所示,但没有效果:

<platform name="android">
    <supports-screen xlargeScreens="false"/>
</platform>

我知道我可以在我的源代码管理中存储一个定制的AndroidManfiest.xml文件,并使用Cordova钩子简单地复制它,但这样做感觉有点笨拙,我担心将来对config.xml文件的修改可能不会进入AndroidManifest.xml,因为我们忘记了在after_prepare钩子期间会覆盖生成的文件


我想问的是使用Cordova CLI是否可行?如果是这样的话,我们希望能提供一个config.xml示例来实现这一点。

据我所知,钩子是实现这一点的方法。yeoman标志性框架生成器有一个很好的例子,它可以获取许多特定于android的标记,并将它们复制到生成的config.xml中。从这看

代码()中的Config.xml示例:

既然如此,我们应该能够使用新的
编辑配置
标记编辑Android Manifest.mf文件,如下所示:

<edit-config file="AndroidManifest.xml" target="/manifest/supports-screens" mode="merge">
   <supports-screens android:resizeable=["true"| "false"]
                     android:smallScreens=["true" | "false"]
                     android:normalScreens=["true" | "false"]
                     android:largeScreens=["true" | "false"]
                     android:xlargeScreens=["true" | "false"]
                     android:anyDensity=["true" | "false"]
                     android:requiresSmallestWidthDp="integer"
                     android:compatibleWidthLimitDp="integer"
                     android:largestWidthLimitDp="integer"/>
</edit-config>

您还需要添加
xmlns:android=”http://schemas.android.com/apk/res/android“
到config.xml中的小部件元素


更多信息和

据我所知,我可以在源代码管理中存储一个定制的AndroidManfiest.xml文件,并使用Cordova钩子简单地复制它。使用钩子将自定义标记从config.xml中拉出。我在这里举了一个关于改变android主题的糟糕例子:。更好的是,检查它可能已经做了你想要的。嗯-操纵生成的AndroidManifest.xml与用我在源代码中的一个覆盖它是一个非常吸引人的选择;至少通过这种方式,我不必担心破坏config.xml文件更改可能引入的新设置。那个爱奥尼亚式的后处理钩子看起来棒极了。你应该把你的评论变成一个答案——你的解决方案适合我。示例代码看起来是一个合理的方法。但目前,它不起作用。看见你能提出其他的解决方案吗?对我来说没用。它添加了另一个标签,而不是替换旧的标签。这正是我要找的<代码>目标
应该是
/manifest/支持屏幕
。我还需要添加
xmlns:android=”http://schemas.android.com/apk/res/android“
到config.xml中的小部件元素。在那之后,它就像一个符咒!谢谢@Hjalmar,我将用你的输入编辑我的答案。从Cordova Android 7.0.0开始,重大突破性变化;文件参数需要指向file=“app/src/main/AndroidManifest.xml”,而不是根据
<edit-config file="AndroidManifest.xml" target="/manifest/supports-screens" mode="merge">
   <supports-screens android:resizeable=["true"| "false"]
                     android:smallScreens=["true" | "false"]
                     android:normalScreens=["true" | "false"]
                     android:largeScreens=["true" | "false"]
                     android:xlargeScreens=["true" | "false"]
                     android:anyDensity=["true" | "false"]
                     android:requiresSmallestWidthDp="integer"
                     android:compatibleWidthLimitDp="integer"
                     android:largestWidthLimitDp="integer"/>
</edit-config>