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 ...
随机推荐
- 【SpringCloud】Re03 Feign
Feign是一个声明式的HttpClient?更简洁的实现Http请求发送 安装Feign组件: 配置Feign的依赖坐标: <?xml version="1.0" enco ...
- 【Mybatis-Plus】03 SpringBoot整合
创建SpringBoot工程: 选择辅助三件套: 再导入MP相关依赖坐标: <!-- jdbc --> <dependency> <groupId>mysql< ...
- 【SpringSecurity】02 权限控制、自定义登陆、记住我
[资源过滤 权限控制] 就之前的权限问题,例如一个user1登录成功去访问level1的资源当然没有问题 但是页面还呈现了其他权限的资源,比如level2 & level3 既然呈现给了use ...
- 【Docker】11 私有仓库
Docker的私有仓库也是一个镜像形式: docker pull registry 运行容器: run -d --name my-docker-repo -p 5000:5000 registry 访 ...
- ChatGPT的训练费用以及成功原因
参考: https://baijiahao.baidu.com/s?id=1772914234034992726&wfr=spider&for=pc ================= ...
- 【转载】 解决运行docker命令要用sudo的问题
将当前登录的用户添加到docker组中,这样以后在访问docker时就不用在sudo了 1. 查看是否创建docker 组 cat /etc/group | grep docker 2.创建docke ...
- Redis源码安装(Linux环境)
下载源码: wget https://download.redis.io/redis-stable.tar.gz 解压: tar -xzvf redis-stable.tar.gz 编译&安装 ...
- keycloak~关于社区登录的过程说明
keycloak将第三方登录(社区登录)进行了封装,大体主要会经历以下三个过程: 打开社区认证页面,输入账号密码或者扫码,完成社区上的认证 由社区进行302重定向,回到keycloak页面 keycl ...
- AC自动机 提高篇
文本生成器 首先考虑一个容斥,算出不包含任何一个单词的文章的数量. 我们设 \(dp_{i,j}\) 表示当前文章长度为 \(i\),最后一个字符在 \(AC\) 自动机上的 \(j\) 号点的方案数 ...
- rest_framework与django配合使用
rest_framework与django配合使用 rest_framework与django配合使用 一.构建表单,在这里我们先构建五个表单,分别是 author book publish us ...