我可以从Cordova config.xml控制AndroidManifest.xml文件的<supports-screen>设置吗?

RMD*_*RMD 10 android build android-manifest cordova

我希望能够在从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" />
Run Code Online (Sandbox Code Playgroud)

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

我尝试使用以下的config.xml设置进行修改,但无济于事:

<platform name="android">
    <supports-screen xlargeScreens="false"/>
</platform>
Run Code Online (Sandbox Code Playgroud)

我知道我可以在我的源代码控制中存储一个自定义的AndroidManfiest.xml文件,只需使用Cordova钩子复制它,但这样做有点笨拙,我担心将来可能调整config.xml文件不要进入AndroidManifest.xml,因为我们忘记了在after_prepare挂钩期间我们覆盖了生成的文件.

我问的可能是使用Cordova CLI吗?如果是这样,将获得实现此目的的config.xml示例.

Żab*_*jad 11

由于最新的cordova> 6.3版本中的这一变化,我们应该能够使用新edit-config标签来编辑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>
Run Code Online (Sandbox Code Playgroud)

您还需要xmlns:android="http://schemas.android.com/apk/res/android"在config.xml中添加widget元素.

更多信息那里那里

  • `target`应该是`/ manifest/supports-screens`.另外,我需要将`xmlns:android ="http://schemas.android.com/apk/res/android"添加到config.xml中的widget元素中.之后,它就像一个魅力! (2认同)
  • 从 Cordova Android 7.0.0 开始,重大突破性变化;文件参数需要指向 file="app/src/main/AndroidManifest.xml" 而不是 file="AndroidManifest.xml" 根据 http://cordova.apache.org/announcements/2017/12/04/cordova- android-7.0.0.html (2认同)