在Ionic v3.7.0上更改AndroidManifest.xml

5
我将使用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文件?
谢谢!

你在这里需要做什么?使用案例? - Sampath
我想使用位于项目根目录下的config.xml文件来设置android:windowSoftInputMode="adjustResize"的值。 - JohnnyAce
2个回答

13
我找到了方法。如果你的Cordova版本高于6.4.0,你可以使用标签<edit-config>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。 - Darrow Hartman

-1

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

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接