Google商店中下载安兔兔评测,后下载3D资源插件,提示“您的设备与此版本不兼容”
文章目录
- 背景描述
- 解决过程
- 总结
- uses-feature
- uses-library
- uses-permission
背景描述
该问题起因是,在Google Play Store商店下载了安兔兔评测应用,在进行3D测试时,提示需要下载安兔兔3D评测应用,点击跳转到谷歌商店,商店提示“您的设备与此版本不兼容”
解决过程
在终端使用aapt dump badging antutu_3D.apk >antutu_3D.txt命令抓取应用依赖:
注意关键字"uses-gl-es: ‘0x30001’ ",该信息说明该应用依赖于OpenGL ES 3.0同样连接上设备,在终端使用adb shell pm list features查看设备feature支持情况:
注意关键字"feature:reqGlEsVersion=0x20000",该信息说明设备目前的OpenGL ES版本为2.0
走到这里,问题的根因已浮出水面:
造成此问题的原因为Google Play在下载应用时会检测设备的feature的匹配情况。应用所支持的OpenGL ES版本高于设备所支持的OpenGL ES版本,兼容性导致的问题
总结
Google Play Store会根据应用的uses-feature、uses-library、uses-permission等进行匹配,以查看设备是否支持下载apk。
uses-feature
uses-feature配置用来声明一个app在运行时所依赖的外部的硬件或软件特征(feature),有三个属性:
android:name
可以通过adb shell pm list features来查看系统所有支持的的uses-feature。其中硬件特征的名字以android.hardware.为前缀,软件特征的名字以android.software.为前缀。
android:required
android:required属性表示这项feature是否是必须的,它的值只能是true或者false。
如果设置为true表示这项feature是必须的,如果没有,应用将无法工作。
如果设置为false,表示应用需要这项feature,但如果没有,可能会影响部分功能,但应用还是能够正常工作的。
如果没有指定这项属性,则默认为true,即表示此feature是必须的。
android:glEsVersion
此项属性表示app所依赖的OpenGL ES的版本,它的值是一个整数,高16位表示OpenGL ES的大版本,低16位表示OpenGL ES的小版本。例如 OpenGL ES 3.2版本对应的整数值为0x00030002。
通常在AndroidManifest中应该只有一个android:glEsVersion配置,如果配置了多个,则只有版本号最大的那一个会生效,其他配置会被忽略。如果在AndroidManifest中没有配置android:glEsVersion,则表示可以支持到OpenGL ES 1.0,也就是所有的Android系统都支持。
结论:若uses-feature中android:required属性是true,但系统中不支持该uses-feature,则下载会显示不兼容;为false则没有影响
uses-library
这个元素用于指定该应用程序必须使用的共享类库。这个元素告诉系统该应用程序包的类装载器中所包含的类库代码。
属性:
android:name
这个属性用于指定类库的名称。这个名称是在对应的类库文档中提供的。可以通过adb shell pm list libraries来打印当前设备所支持的所有库存
android:required
android:required属性表示这项library是否是必须的,它的值只能是true或者false。
如果设置为true表示这项library是必须的,如果没有,系统不允许该应用程序安装在这个设备上。
如果设置为false,表示应用需要这项feature,但如果没有,可能会影响部分功能,但应用还是能够正常工作的。
如果没有指定这项属性,则默认为true,即表示系统不允许该应用程序安装在这个设备上。
结论:若uses-library中android:required属性是true,但系统中不支持该uses-library,则下载会显示不兼容或者不能安装到系统中;为false则没有影响
uses-permission
部分机器可能不支持应用所需要的权限,如不能拨打电话的机器,但是给了CALL_PHONE权限,然后在google play store中下载,就会提示不兼容。玄机就在这最后的表格里面,你需要做的就是如果你的uses-permission中用到了任何的一个表格中 This Permission…中的权限就要相应的加入uses-feature标签,并且指定name就是 Implies This Feature Requirement 中的相应值,并加入android:required=”false”。这句话的意思就是没有这个权限也可以。
结论:若uses-permission中有需要系统不支持的权限,则下载会显示不兼容
Google商店中下载安兔兔评测,后下载3D资源插件,提示“您的设备与此版本不兼容”相关推荐
- linux即时通讯软件下载,安信通linux版下载
安信通linux版支持对实时加密所有数据,定时销毁清空记录,并且截屏还会立即通知,防止信息泄漏.该软件支持linux.Windows以及mac等平台, 本站提供的是该软件的linux版本,需要的朋友快 ...
- Google Play 新功能 | 让您的应用在 Play 商店中闪耀
作者 / Allison Chang (Google Play 产品经理).Weifang Sun (ChromeOS 产品经理).Manuel Wang (Google Play 管理中心产品经理) ...
- R语言修改下载安装包install.package的默认存储位置
这次遇到的问题是:R语言下载安装包时会先将下载下来的二进制zip文件保存在本地,然后将其解压安装到R的library文件夹下.包被下载后会默认将二进制zip文件保存在本地C盘的临时会话的downloa ...
- 关于url网上下载安装包(java)
import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io ...
- MAC下安装ElasticSearch(官网下载安装包)
1.基础环境准备 Elasticsearch 依赖于JDK, 并且JDK 版本1.8+ 检验jdk 命令 : java -version 2.下载安装包 去官网下载https://www.elast ...
- 手持PDA连接无线网络后下载安装程序
前几天研究了一个PDA winCE5.0的操作系统,最麻烦的就是连网,显示用猎豹浏览器开了一个wifi然后是让印度那边的IT给我的电脑的IP添加了访问权限,连上网后直接下载软件然后依次安装程序. PD ...
- Maven在pom文件中添加资源插件后,src/main/resource目录中的文件编译后不拷贝解决方法。
在pom文件中添加以下资源插件后 <!--添加的资源插件--> <build><resources><resource><directory> ...
- 安安兔html5测试,安兔兔评测AnTuTu Benchmark v8.1.5
安兔兔评测AnTuTu Benchmark v8.1.5是一款可以手机评测的软件.在安兔兔评测软件中,用户的手机可以进行一系列的检测,其中包括:手机性能.硬件,获得性能分值,安兔兔评测软件检测手机是很 ...
- linux 性能测试 antutu,安兔兔评测Linux版正式上线 Windows版蓄势待发
原标题:安兔兔评测Linux版正式上线 Windows版蓄势待发 安兔兔评测Linux版正式上线 Windows版蓄势待发 继Android版和iOS版之后,安兔兔评测Linux版今天正式发布. 需要 ...
最新文章
- 学计算机哪家强?清华竟是2018全球第1!(附排名)
- EF使用Fluent API配置映射关系
- 第三次作业:阅读《构建之法》1-5章有感
- mysql修改数据库历史_MySQL之操作数据库
- python里order_volume_Python 基础知识:Method Resolution Order (MRO) 和 super
- Angualr 输入文本框监听enter回车键和esc键方法使用(附常用的键盘事件对应的键码)
- 镭神激光雷达对于Autoware的适配
- css3的一些知识点
- 《2019年中国互联网网络安全报告》发布,恶意程序攻击半数来自美国
- matlab取值只能为整数,运行时提示Size 输入必须为整数
- 欢乐喜剧人之个人见解
- 全中国的海鲜主要有这四个省份扛着。。
- 用Django编写邮箱注册以及验证码
- vue的html自动刷新,vue项目刷新当前页面的方法
- SQLServer 查询表的列名称、说明、备注、类型等
- memcached 注册服务器,Memcached深入剖析(一)—Memcached服务器安装
- 【PS】Adobe Photoshop 2020中扣名字
- C语言输入不定长度的数组,不输入数组长度
- 临港新片区人才住房政策办事指南
- 全年GMV突破40亿元关口,为何如涵仍难造出第二个“张大奕”?
热门文章
- java闪光的星星_基于JavaScript实现飘落星星特效
- 这朵玫瑰叫Jenny
- Android工具修复属性,Broken Android Data Extraction(安卓数据修复工具) V3.0.20 官方版
- solar在linux系统下的部署过程
- JavaScript中关于call函数的一道面试题
- WPF翻盘连连看(二)
- stm32【GT30L32S4W字库芯片】
- python学习笔记3(字符串)
- Java 实现OCR 识别图像文字(手写中文)----tess4j
- linux bootrom ftp,AR路由器通过BootROM FTP方式升级系统文件的示例