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 覆蓋所有目標設備的情況。

浙公網安備 33010602011771號