语法(SYNTAX):
<supports-gl-textureandroid:name="string"/>
被包含于(CONTAINED IN):
<manifest>
说明(DESCRIPTION):
这个元素用于声明一个应用程序所支持的GL纹理压缩格式。
一个应用程序支持一种纹理压缩格式,如果应用程序提供了用该格式压缩纹理资源的能力,那么一旦应用程序被安装在设备上,应用程序就能够从.apk文件的内部提供本地的压缩资源,或者在运行时从服务器上下载它们。
每个<supports-gl-texture>元素用android:name属性明确的声明一个所支持的纹理压缩格式。如果应用程序支持多种纹理压缩格式,可以声明多个<supports-gl-texture>元素,例如:
<supports-gl-texture
android:name="GL_OES_compressed_ETC1_RGB8_texture"
/>
<supports-gl-texture
android:name="GL_OES_compressed_paletted
_texture" />
被声明的<supports-gl-texture>是一种信息,这就意味着应用程序在安装时,系统本身并不检查这个元素,以确保与设备的支持相匹配。但是,其他的服务(如Google
Play)或应用程序能够检查你的应用程序的<supports-gl-texture>的声明,把它作为与你的应用程序进行交互和处理的一部分。由于这个原因,在你的应用程序中声明所有支持的纹理压缩格式的能力是至关重要的。
通常,应用程序和设备会使用相同的已知的字符串(如下表所示)来声明它们所支持的纹理压缩格式。下表中的格式字符串会根据需要随着时间来增长,并且因为值是字符串,所有应用程序可根据需要自由的声明其他的格式。
假设应用程序是建立在SDK平台工具r3或更高的版本上,那么基于<supports-gl-texture>元素的过滤对所有的API级别都是有效的。
属性(ATTRIBUTES):
android:name
这个属性用描述字符串给指定一个由应用程序支持的一个GL纹理压缩格式,通用的描述符的值在下表中被列出。
纹理压缩格式描述符
|
注释
|
GL_OES_compressed_ETC1_RGB8_texture
|
爱立信纹理压缩。在OpenGL ES2.0中被指定,并且在所有支持OpenGL ES2.0的Android设备上都是有效的。
|
GL_OES_compressed_paletted_texture
|
通用的调试版纹理压缩。
|
GL_AMD_compressed_3DC_texture
|
ATI 3Dc纹理压缩
|
GL_AMD_compressed_ATC_texture
|
ATI纹理压缩。在运行Adreno GPU的设备上有效,包括HTC的Nexus One、Droid Incredible、EVO等。为了最广泛的兼容性,设备也可以声明一个带有GL_ATI_texture_compression_atitc描述符的<supports-gl-texture>元素
|
GL_EXT_texture_compression_latc
|
亮度的透明度纹理压缩。
|
GL_EXT_texture_compression_dxt1
|
S3 DXT1纹理压缩。支持运行Nvidia Tegra2平台的设备,包括Motorala Xoom、Motorola Atrix、Droid Bionic等。
|
GL_EXT_texture_compression_s3tc
|
S3纹理压缩,不特定指DXT变种。在运行Nvidia Tegra2平台的设备上被支持,包括Motorala Xoom、Motorola Atrix、Droid Bionic等。如果应用程序需要一个特定的DXT变种,就要用那个变种的描述符来代替这个描述符。
|
GL_EXT_texture_compression_pvrtc
|
PowerVR纹理压缩。在运行PowerVr SGX530/540 GPU的设备中有效。如Motorola的DRIOID系列,Samsung Galaxy S,Nexus S,和Galaxy Tab等。
|
Google Play和纹理压缩过滤
Google Play对应用程序的过滤,对用户来说是可见的,以便用户能够看到并只下载那些跟设备兼容的应用程序。它过滤应用程序的方法之一就是通过纹理压缩的兼容性,它会基于GPU的能力来控制应用程序在各种设备上的可用性。
Google Play会通过以下内容的比较,来判断应用程序的纹理压缩与用户设备的兼容性:
1.应用程序支持的纹理压缩格式---应用程序会在它的清单文件的<supports-gl-texture>元素中声明它所支持的纹理压缩格式;
2.设备上GPU所支持的纹理压缩格式---设备会把作为它所支持的只读系统属性来报告。
每次把应用程序发布到Google Play的发布网站上时,Google Play会扫描该应用程序的清单文件,并查看<supports-gl-texture>元素,它从这个元素中提取格式描述符,并把它作为跟应用程序的.apk和版本关联的内部元数据来保存。
如果应用程序所支持的任何一种纹理压缩格式也是设备所支持的,那么Google Play就允许用户看到这个应用程序并可下载它。否则,如果应用程序所支持的格式都不被设备所支持,那么Google Play就会过滤掉这些应用程序,使其不能下载。
如果应用程序没有声明任何<supports-gl-texture>元素,那么Google Play不会使用任何基于纹理压缩格式的过滤。
分享到:
相关推荐
AndroidManifest.xml文件详解 AndroidManifest android java
详细剖析 androidmanifest.xml 文件,罗列各节点,属性的作用,非常值得参考!!!
一个解密apk 包中AndroidManifest.xml 的工具,命令行直接使用,生成一个明文的xml 文件。 AndroidManifestConver.exe c:\src.xml c:\dest.xml
AndroidManifest.xml可以理解为android的一个注册表文件,在这个文件中,我们可以声明我们自己定义的权限,这个工程被赋予的权限已经所有应用组件的相关配置工作。Manifest, 描述:根节点,用来描述.apk文件,...
上次传的main activity代码配套,欢迎页面太丑没穿,好吧,就这样。
apk主配置AndroidManifest.xml信息查看工具,只要将apk文件拖到AppInfo.bat上面即可,另外dex-method-count.bat能计算apk包含的方法数
几个批处理文件,用来自动批量提取apk文件中的AndroidManifest.XML文件
Android教程之AndroidManifest.xml文件 详细介绍及用法解析
详细阐述androidmanifest.xml各个属性的含义和用法
AndroidManifest.xml反编译工具,包含工具和使用方法。
AndroidManifest.xml 是每个android程序中必须的文件。它位于整个项目的根目录,描述了package中暴露的组件(activities, services, 等等),他们各自的实现类,各种能被处理的数据和启动位置。 除了能声明程序中的...
android反编译:修改apk生成的二进制文件AndroidManifest.xml文件。
Android 报错:Entry name ‘AndroidManifest.xml’ collided前言解决方法1、直接退回3.5.32、排除打包文件3、使用旧打包工具4、最终解决方法完事 前言 这两天 Android studio 更新了 3.6 版本,天天在右下角提示 ...
Android学习笔记之AndroidManifest.xml文件解析
android系统AndroidManifest.xml文件解析,供参考。
本文件用来修改二进制文件AndroidManifest.xml的内容!!!
借鉴QQ的配置 AndroidManifest.xml
androidmanifest 文件 基础 解读 入门,讲解androidmanifest.xml的相关知识
使用Java语言实现将AndroidManifest.xml编译成特定的二进制文件。