[android] AndroidManifest.xml

摘要:
Android:targetSdkVersion--˃应用程序的目标API级别,由整数表示。Android:maxSdkVersion--˃如果应用程序的maxSdkVersion属性低于系统本身使用的API级别,则系统将不允许安装应用程序name属性指定应用程序的特性。required属性告诉过滤器在任何情况下我们是否需要该设备的支持,或者它是否只是“niceshare”。每个<supports gl texture>元素只能声明一种受支持的纹理压缩格式,该格式由android:name属性值指定。
<uses-sdk> 

作用:使应用程序的兼容性更好,指明应用程序需要的最小API,编译API以及最大支持的API。值都是整数
<uses-sdk android:minSdkVersion="integer" 
          android:targetSdkVersion="integer"
          android:maxSdkVersion="integer" />
android:minSdkVersion  ——>  指定运行应用程序所需的最低API级别。如果系统的应用程序的接口低于此属性中指定的值,则将防止用户安装应用程序。如果你不声明这个属性,系统默认值为“1”,这表明你的应用程序是兼容所有版本的安卓系统。
android:targetSdkVersion ——> 一个整数表示的应用程序的目标API级别。如果没有设置,默认值等于给定的例子。此属性通知系统,您已经对目标版本进行了测试,系统不应该允许任何兼容的行为,以保持您的应用程序的向前兼容。
android:maxSdkVersion ——> 若应用程序的maxSdkVersion属性低于系统自身使用的API级别,则系统将不允许应用程序被安装。在系统更新后重新验证的情况下,有效地从设备中删除您的应用程序。因此,不建议声明该属性。



<uses-configuration>
<uses-configuration android:reqFiveWayNav=["true" | "false"] 是否需要五向导航【上/下/左/右/当前】
                    android:reqHardKeyboard=["true" | "false"]是否需要硬件的键盘
                    android:reqKeyboardType=["undefined" | "nokeys" | "qwerty" | "twelvekey"]设置键盘的类型
                    android:reqNavigation=["undefined" | "nonav" | "dpad" | "trackball" | "wheel"]设置导航的类型
                    android:reqTouchScreen=["undefined" | "notouch" | "stylus" | "finger"] />设置触摸屏幕的类型
<uses-feature> 

Android Market会根据应用定义的uses-feature过滤掉设备不支持的所有应用。

通过使用<uses-feature>元素,一个应用可以指定它所支持的硬件型号。举个例子,有些设备不支持多点触控或者OpenGL ES 2.0,那么过滤器就会过滤需要这些硬件支持(多点触控或者OpenGL ES 2.0)的应用,用户就不会在android market上看到这些应用。

<uses-feature android:name="string"
              android:required=["true" | "false"]
              android:glEsVersion="integer" />

name属性指定了应用的特征,required属性告诉过滤器我们是否在任何情况下必须要需要这个设备的支持,或者仅仅只是“nice to have”。

最后一个属性是可选择的,只是用在需要指定一个OpenGL ES版本的时候。

例如:我们可以使用 <uses-feature>元素来剔除所有不支持多点触控的设备,就像下面这样:

<uses-feature android:name="android.hardware.touchscreen.multitouch" android:required="true"/>

再例如:如果你的游戏需要更强大的图形处理能力,我们可以指定OpenGL ES 2.0,然后我们的游戏只会被支持OpenGL ES 2.0的设备所看见。

<uses-feature android:glEsVersion="0x00020000" required="true"/>


<supports-screens>
<supports-screens android:resizeable=["true"| "false"]
                  android:smallScreens=["true" | "false"]
                  android:normalScreens=["true" | "false"]
                  android:largeScreens=["true" | "false"]
                  android:xlargeScreens=["true" | "false"]
                  android:anyDensity=["true" | "false"]
                  android:requiresSmallestWidthDp="integer"
                  android:compatibleWidthLimitDp="integer"
                  android:largestWidthLimitDp="integer"/>
这个元素用于指定应用程序所支持的屏幕尺寸,并针对比应用程序所支持的屏幕还要大屏幕,启用屏幕兼容模式


<compatible-screens>

<compatible-screens> <screen android:screenSize=["small" | "normal" | "large" | "xlarge"] android:screenDensity=["ldpi" | "mdpi" | "hdpi" | "xhdpi"] /> ... </compatible-screens>

这个元素用于指定那些屏幕配置跟应用程序是兼容的。在应用的清单中只允许有一个<compatible-screent>元素的实例,但是它能够包含多个<screen>元素。每个<screen>元素指定一个特定的跟应用程序兼容的尺寸---密度组合。Android系统不会读取<compatible-screen>清单元素(无论是在安装的时候,还是在运行的时候)。这个元素的信息只能被外部服务使用(如Google Play),以便使其能够更好的理解应用程序跟指定屏幕配置的兼容性。

<supports-gl-texture>
<supports-gl-texture android:name="string" />

声明本应用程序支持的一种 GL 纹理压缩格式。所谓应用程序“支持”的 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" / > 

纹理压缩格式描述符说明
GL_OES_compressed_ETC1_RGB8_textureEricsson 纹理压缩。在 OpenGL ES 2.0 中定义,适用于所有支持 OpenGL ES 2.0 的 Android 平台设备。
GL_OES_compressed_paletted_texture通用的带调色板的纹理压缩。
GL_AMD_compressed_3DC_textureATI 3Dc 纹理压缩。
GL_AMD_compressed_ATC_textureATI 纹理压缩。适用于运行 Adreno GPU 的设备,包括 HTC Nexus One、Droid Incredible、EVO 等等。 为了保证最大的兼容性,设备还可以用GL_ATI_texture_compression_atitc 描述符来声明 < supports-gl-texture > 元素。
GL_EXT_texture_compression_latcLuminance alpha 纹理压缩。
GL_EXT_texture_compression_dxt1S3 DXT1 纹理压缩。适用于 Nvidia Tegra2 平台的设备,包括 Motorala Xoom、Motorola Atrix、Droid Bionic 等等。
GL_EXT_texture_compression_s3tcS3 纹理压缩,但不支持 DXT 变体。 适用于 Nvidia Tegra2 平台的设备,包括Motorala Xoom、Motorola Atrix、Droid Bionic 等等。 如果应用程序需要 DXT 变体,请换用上一条描述符进行声明。
GL_IMG_texture_compression_pvrtcPowerVR 纹理压缩。 适用于带有 PowerVR SGX530/540 GPU 的设备,比如 Motorola DROID 系列;Samsung Galaxy S、Nexus S 和 Galaxy Tab 等等。
<instrumentation>
<instrumentation android:functionalTest=["true" | "false"]
                 android:handleProfiling=["true" | "false"]
                 android:icon="drawable resource"
                 android:label="string resource"
                 android:name="string"
                 android:targetPackage="string" />
声明一个 Instrumentation 类, 用于监视应用程序与系统之间的交互。 Instrumentation 对象将在所有应用程序组件之前被实例化。

属性:
android:functionalTest
Instrumentation 类是否要作为功能性测试来运行 — “true”表示是,“false”表示否。 默认值是“false”。
android:handleProfiling
Instrumentation 对象是否能够开启和关闭性能分析功能(profiling) —  “true”表示它可以自行决定何时启动和停止,“false”表示整个运行期间都将持续开启。 设为“true”使得 Instrumentation 对象可以只针对某些操作进行性能分析。 默认值是“false”。
android:icon
代表 Instrumentation 类的图标。这个属性必须设为 drawable 资源。
android:label
供用户阅读的代表 Instrumentation 类的文本标签。可直接设为字符串,也可设为对字符串资源的引用。
android:name
Instrumentation 子类的名称。 应设为完全限定格式的类名称(比如“com.example.project.StringInstrumentation”)。 不过作为简称,如果类名的首字符是句点,则< manifest > 元素中设置的包名将会自动添加到前面。没有默认值,类名必须指定。
android:targetPackage
运行 Instrumentation 对象对应的应用程序。 应用程序由其 Manifest 文件中 < manifest > 元素设置的包名称指定.

免责声明:文章转载自《[android] AndroidManifest.xml》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Android——窗口层控制WindowManager.LayoutParams.typeCesium 做汉化的另一种思路。[转]下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

java数据库登陆页面

下面是一些总结但是部分来源于网络。 1.java语言 2. 面向对象分析设计 XML 语言 网页脚本语言 数据库 应用服务器 集成开发环境 .java语言:JSP、Servlet、JDBC、javaBean(Application)从这四部分开始创建web项目。 (一)java Database Connectivity(JBDC)技术 它是一种执行...

1、Dubbo源码解析--Dubbo如何驱动Spring IOC容器并配合工作的?

首先Spring要注入自己的bean需要在Spring-provider.xml(提供者spring注入文件,名字可能不一样)添加bean注入,其中有dubbo的自定义标签,xml如何识别这些标签?拿到标签如何注入到Spring Container?一般需要如下几个步骤:   1)、设计配置属性和JavaBean     设计属性即dubbo.xsd中的a...

SpringBoot入门 (四) 数据库访问之JdbcTemplate

  本文记录在SpringBoot中使用JdbcTemplate访问数据库。 一 JDBC回顾   最早是在上学时接触的使用JDBC访问数据库,主要有以下几个步骤: 1 加载驱动 Class.forName(Driver) 2 获取数据库连接 conn = DriverManager.getConnection(url, user,password) 3...

c# 获取相对路径

c# 获取相对路径 一、获取当前文件的路径1. System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName获取模块的完整路径,包括文件名。2. System.Environment.CurrentDirectory获取和设置当前目录(该进程从中启动的目录)的完全限定目录。3. Sy...

JAVA基于图片相似性算法实现以图搜图样例

一、简述 本文主要讲如何利用图片相似性算法,基于LIRE来实现图片搜索。 二、依赖 <dependencies> <!-- https://mvnrepository.com/artifact/org.apache.lucene/lucene-core --> <dependency&...

Flask-SQLAlchemy操作

Flask-SQLAlchemy SQLAlchemy 一. 介绍 SQLAlchemy是一个基于Python实现的ORM框架。该框架建立在 DB API之上,使用关系对象映射进行数据库操作,简言之便是:将类和对象转换成SQL,然后使用数据API执行SQL并获取执行结果。 pip3 install sqlalchemy 组成部分: Engine,框架...