【问题标题】:Change AndroidManifest.xml on Ionic v3.7.0在 Ionic v3.7.0 上更改 AndroidManifest.xml
【发布时间】:2017-09-28 23:28:07
【问题描述】:

我使用的是 v3.7.0,我想在构建应用程序时更改 AndroidManifest.xml。目前我已尝试更改my-project-path/config.xml 文件添加以下行:

选项a。

<widget>
    <preference name="android-manifest/application/activity/@android:windowSoftInputMode" value="adjustPan" />
</widget>

选项 b。

<widget>
     <preference name="android-windowSoftInputMode" value="adjustPan" />
</widget>

然后我做:

$ ionic cordova build android

我期待my-project-path/platform/android/AndroidManifest.xml 发生以下变化:

<manifest>
    <application>
        <activity android:windowSoftInputMode="adjustPan">
        </activity>
    </application>
</manifest>

但我得到与不添加首选项设置相同的结果:

<manifest>
    <application>
        <activity android:windowSoftInputMode="adjustResize">
        </activity>
    </application>
</manifest>

如何将所需的效果应用到 AndroidManifest.xml?

谢谢!

【问题讨论】:

  • 你需要在这里做什么?用例?
  • 我想使用项目根目录下的config.xml文件设置android:windowSoftInputMode="adjustResize"的值。

标签: android angular ionic-framework ionic2 ionic3


【解决方案1】:

我找到了方法。如果您的 Cordova 版本高于 6.4.0,您可以使用标签 &lt;edit-config&gt; (http://cordova.apache.org/docs/en/7.x/plugin_ref/spec.html#edit-config),我认为如果您使用最新版本的 Ionic,您可能会拥有高于 6.4.0 的 Cordova 版本(我有7.1)。

因此,为了实现我想要的更改,我必须将my-project-path/config.xml 文件设置如下:

<widget xmlns:android="http://schemas.android.com/apk/res/android">
  <platform name="android">
    <edit-config file="AndroidManifest.xml" mode="merge" target="/manifest/application/activity">
      <activity android:windowSoftInputMode="adjustPan" />
    </edit-config>
  </platform>
</widget>

检查小部件是否具有新属性。

当我构建 Android 版本时,有了这个更改,清单 my-project-path/platform/android/AndroidManifest.xml 看起来像这样:

<manifest>
    <application>
        <activity android:windowSoftInputMode="adjustPan">
        </activity>
    </application>
</manifest>

【讨论】:

  • 新的路径文件不是my-project-path/platform/android/AndroidManifest.xml,而是my-project-path/platform/android/capacitor-cordova-android-plugins/AndroidManifest.xml。在另一个路径中也找到了一个:/android/app/src/main/AndroidManifest.xml
【解决方案2】:

看起来 AndroidManifest.xml 是从 config.xml 派生的,而不是您想要直接编辑的东西。

我会编辑 config.xml 并将其中的部分反映到用于构建 Android APK 的各种 AndroidManifest.xml 中

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-02-26
    • 2018-08-30
    • 2011-12-03
    • 1970-01-01
    • 2022-08-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多