Android复习(五)设备兼容—>多apk支持

1. 对于不同的屏幕发布单独的apk

   https://developer.android.google.cn/training/multiple-apks/screensize

2.多窗口模式

   在Android 7.0 或更高版本中运行的所有应用,并且应用默认可调整大小。您还可以为整个应用或特定 Activity 明确设置属性 android:resizeableActivity true

如果您不希望自己的应用或 Activity 在多窗口模式下运行,请设置 android:resizeableActivity false。在这种情况下,应用会始终全屏显示。系统会根据 Android 操作系统级别控制完成此操作的方式:

  • 如果您的应用定位到 Android 8.0(API 级别 26)或更高版本,它会根据其布局填充整个屏幕。
  • 如果您的应用定位到 Android 7.1(API 级别 25)或更低版本,则系统会将应用界面的大小限制为宽高比为 16:9(约为 1.86)的窗口。如果应用在具有较大屏幕宽高比的设备上运行,则该应用会以一个 16:9 的宽屏显示(上下各留出一部分屏幕不用)。

如果您的应用布局无法适应宽高比过大的屏幕,则您可以通过设置最大宽高比显式强行要求在所有 Android 操作系统级别上采用宽屏显示。我们建议使用 2.4 (12:5) 的比例。如果宽高比大于您指定的比例,您的应用在设备上运行时会以宽屏显示。对于 Wear OS 设备,您选择的值必须至少为 1.0;对于其他设备,该值必须至少为 1.33。如果您指定的比例小于这些限制,则系统会如上所述,根据操作系统级别限制应用的宽高比。

要为 Android 8.0(API 级别 26)和更高版本设置最大宽高比,请在 <activity> 标记中使用 android:MaxAspectRatio 来声明最大比例。以下示例演示了如何声明 2.4 的最大宽高比:

<!-- Render on full screen up to screen aspect ratio of 2.4 -->
    <!-- Use a letterbox on screens larger than 2.4 -->
    <activity android:maxAspectRatio="2.4">
     ...
    </activity>
    

  

对于 Android 7.1 及更低版本,请在 <application> 元素中添加一个名为 android.max_aspect 的 <meta-data> 元素,如下所示:

<!-- Render on full screen up to screen aspect ratio of 2.4 -->
    <!-- Use a letterbox on screens larger than 2.4 -->
    <meta-data android:name="android.max_aspect" android:value="2.4" />
    

  

如果您设置了最大宽高比,请勿忘记同时设置 android:resizeableActivity false。否则,最大宽高比没有任何作用。

注意:如果您的应用不可调整大小,您应该在尽可能多的设备上测试它的行为。检查所有控件是否均可见。有些设备可让用户强制应用进入全屏显示,这会调整这些应用的大小。

2. 多apk支持

如果您将应用发布到 Google Play,您应构建并上传 Android App Bundle 文件。执行此操作后,Google Play 会自动为每个用户的设备配置生成并提供经过优化的 APK,以便他们仅下载运行应用所需的代码和资源。如果您不发布到 Google Play,则发布多个 APK 非常有用,但是您必须自己编译、签署和管理每个 APK。

  

多 APK 支持是 Google Play 上的一项功能,可让您为应用发布不同的应用 APK,每个 APK 针对不同的设备配置。每个 APK 都是完整、独立的应用版本,但它们在 Google Play 上共享相同的应用详情,并且必须共享相同的软件包名称,使用相同的发布密钥进行签名。此功能适用于您的应用无法通过单个 APK 覆盖所有目标设备的情况。

原文地址:https://www.cnblogs.com/developer-wang/p/12744283.html