仅在发行版中将screenOrientation设置为“纵向”

时间:2019-12-13 10:54:10

标签: android android-manifest android-orientation

**AndroidManifest.xml**中,我有一个**Activity**处于纵向模式:

    <activity
        android:name=".home.MainActivity"
        android:screenOrientation="portrait">

我发现在开发过程中临时删除android:screenOrientation="portrait"行很有用,以便尽早捕获与保存实例状态有关的错误。

是否可以仅在 release 版本中将屏幕方向设置为纵向,并且对于 debug 版本,保持默认行为?

3 个答案:

答案 0 :(得分:3)

可以通过使用build.gradle属性在应用的manifestPlaceholder文件中提及要发布的配置来实现,如下所示。并将其从清单文件中删除。同样,对于调试版本,您也可以单独指定。

android {
    ...
    buildTypes {
        release {
            ...
            manifestPlaceholders.screenOrientation = "portrait"
        }
        debug {...}
    }
}

要详细了解manifestPlaceholders并赢得支持,请参考hereofficial site

答案 1 :(得分:2)

将此添加到您的活动中,

{{1}}

答案 2 :(得分:2)

您可以在调试版本中覆盖部分AndroidManifest。在src/debug中创建另一个AndroidManifest.xml,并告诉合并工具为您的活动替换screenOrientation属性:

    <activity
        android:name=".home.MainActivity"
        tools:replace="android:screenOrientation"
        android:screenOrientation="unspecified"/>

有关更多信息,请参见docs