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 覆盖所有目标设备的情况。
Android复习(五)设备兼容—>多apk支持的更多相关文章
- 【转】Android的材料设计兼容库(Design Support Library)
转自:http://www.jcodecraeer.com/a/anzhuokaifa/developer/2015/0531/2958.html?mType=Group Android的材料设计兼容 ...
- Android Vector曲折的兼容之路
Android Vector曲折的兼容之路 两年前写书的时候,就在研究Android L提出的Vector,可研究下来发现,完全不具备兼容性,相信这也是它没有被广泛使用的一个原因,经过Google的不 ...
- Android 自动编译、打包生成apk文件 3 - 使用SDK Ant方式
相关文章列表: < Android 自动编译.打包生成apk文件 1 - 命令行方式> < Android 自动编译.打包生成apk文件 2 - 使用原生Ant方式> &l ...
- Android SO文件的兼容和适配
开发Android应用时,有时候Java层的编码不能满足实现需求,就需要到C/C++实现后生成SO文件,再用System.loadLibrary()加载进行调用,这里成为JNI层的实现.常见的场景如: ...
- Android Wear之android穿戴式设备应用开发平台
Android Wear于2014年03月19日公布,并有Moto 360和LG watch两款产品. 眼下源代码还没有开放.可是开发人员能够下载它的Image及相应的开发SDK,这样开发人员通过模拟 ...
- Android复习笔记--架构与版本
#Android架构: 1. Linux 内核层 Android 系统是基于Linux 2.6 内核的,这一层为Android 设备的各种硬件提供了底 层的驱动,如显示驱动.音频驱动.照相机驱动.蓝牙 ...
- windows下PHP批量生成打包android程序APK-渠道txt植入apk文件
服务器安装php环境 下载 android-sdk-windows 下载JDK 1.打开zip支持 c:/windows/php.ini ,打开 exec 2.apk 支持mime添加 .apk a ...
- 多设备同时安装apk问题(安卓)
前几天在做安卓设备的多个设备同时安装的小脚本.因为目前我这边设备有点多,想顺便做一下安装的测试.而且因为本人负责公司所有的app测试人手上有点不足,就想通过这个办法去在安装的时候更方便省事一点. 本来 ...
- Android 自动编译、打包生成apk文件 4 - 多渠道批量打包
相关文章列表: < Android 自动编译.打包生成apk文件 1 - 命令行方式> < Android 自动编译.打包生成apk文件 2 - 使用原生Ant方式 > < ...
- 适用于 iOS、Android 和 Windows 设备的移动设备管理
适用于 iOS.Android 和 Windows 设备的移动设备管理 随着企业环境中移动设备的数量不断增加,详细检查访问您企业资源的移动设备变得至关重要.统一终端管理软件 Desktop Centr ...
随机推荐
- 【Mybatis】13 动态SQL
还是先准备演示环境 数据库: CREATE TABLE `t_user` ( `id` int NOT NULL AUTO_INCREMENT, `last_name` varchar(10) DEF ...
- 读《Simple statistical gradient-following algorithms for connectionist reinforcement learning》论文 提出Reinforce算法的论文
<Simple statistical gradient-following algorithms for connectionist reinforcement learning>发表于 ...
- pytorch之网络参数统计 torchstat & torchsummary
参考 : https://blog.csdn.net/weixin_45292794/article/details/108227437 https://blog.csdn.net/jzwong/ar ...
- EDI企业订单报文系统——冷链物流管理系统——低代码的应用
参考: 驳"低代码开发取代程序员"论 为什么专业开发者也需要低代码? =========================================== 推荐视频: https ...
- JavaFx加载本地工程图片报错
原因有两点: 1.png或者其他格式的图片文件没有放在src的直接目录下 2.路径填错,多了个符号等 正确姿势应该是 package com.fubao.tools.fx.Stage; import ...
- 免费word简历 简历制作平台
分享一个简历制作平台. 免费的word模版 链接地址 https://www.xyjianli.com/ https://www.xyjianli.com/list https://www.xyjia ...
- CH06_函数
CH06_函数 概述 作用:将一段可复用的代码封装起来,减少代码重复. 一个较大的程序,一般分为若干个程序块,每个模块实现特定的功能. 函数的定义 函数的定义一般主要有5个步骤: 返回值类型 函数名 ...
- mysql 读写分离之主从配置
#mysql主从复制 ###下载mysql安装包 ###安装master mysql . 检查当前机器是否已经安装mysql yum repolist enabled | grep "mys ...
- 手把手教Linux驱动4-进程、文件描述符、file、inode关系详解
本文目标 什么是文件描述符? 进程打开文件相关信息管理 Linux设备文件三大结构:inode,file,file_operations mknod 做了什么事? 进程打开设备文件 驱动如何支持同类型 ...
- Linux内核信号SIGIO使用实例讲解
一.信号 1. 基本概念 信号是在软件层次上对中断机制的一种模拟,在原理上,一个进程收到一个信号与处理器收到一个中断请求可以说是一样的.信号是异步的,一个进程不必通过任何操作来等待信号的到达,事实上, ...