Manifest基本
每一个Android项目都包含一个Manifest.xml(清单),用于定义每一个应用程序机器组件和需求的结构和元数据
Manifest文件由一个根 manifest标签构成,该标签带有一个被设为项目包package属性。它通常包含一个
xmlns:android 属性来提供文件内使用的某些系统属性
versionCode 可以定义一个显示给用户的公共版本号。
installLocation 可以指是否允许将应用程序安装到外部存储器(SD卡)|preferExternal(愿意外部) auto系统决定
不指定属性则美容存储器存在内部
*含有以下程序不适合安装到外部存储器:
Widget Live Wallpaper
提供不中断服务的应用程
输入法引擎,安装到外部存储的任何IME都会被禁用。在外存储再次后可用,用户可以重新选择IME
设备管理器 DeviceAdminReceive及其管理能力将被禁用
<manifest xmls:android ="http://schemas.android.com/apk/res/andriod"
package="com.padd.myapp"
android:versionCode="1"
android:versionName=0.9 Beta"
android:installLocation="preferExternal"
>
</manifest>
节点(node)
uses-sdk 这个节点用于定义想正确运行应用程序必须具有的最低和最高SDK版本
maxSDKVersion
targetSDKVersion
*通常没有必要指定最高SDK八本
<uses-sdk android:minSdkVersion="6"
android:targetSdkVersion="15">
uses-configuration 指定应用程序支持的每个输入机制的组合。一般不包含这个节点,不过对于需要特殊输入控制的游戏来说可以指定输入依稀设备的任意组合:
reqFiveWayNav 如果输入设备能向上 向下 向左和向右导航,并且能够单击当前的选项,那么将需要这个属性指定为true.这包括追踪求和D-pad、
reqHardKeyboard 如果应用程序需要硬件键盘,则将此属性定义为true
reqKeyboardType 用于将键盘类型指定为 nokeys\qwerty\twelvekey或undefind中的一种.
reqNavigation 将属性值定为nonav\dpad\trackball\wheel或undefined中的一种,作为必须的导航设备
reqTouchScreen 选择notouch\stylus\fomger\undefined其中之一,以指定必须的触摸屏输入。
可以指定多个支持的配置,例如,指定设备具有触摸屏、追踪球以及一个QUERTY或12硬键盘
<uses-configuration android:reqTouchScreen="finger1"
android:reqNavigation="trackball"
android:reqHardKeyboard="true"
android:reqKeyboardType="qwerty"
/>
<uses-configuration android:reqTouchScreen="finger1"
android:reqNavigation="trackball"
android:reqHardKeyboard="true"
android:reqKeyboardType="twelvekey"
/>
uses-feature (特征) 可以在各种各样的硬件平台上运行
<uses-feature android:name="android.hardware.nfc">
音频
蓝牙
摄像头
位置
麦克风
NFC
传感器
电话服务
触摸屏
USB
WIFI
require (要求) true/false 把一些暗含的需求 如把摄像头要支持自动对焦功能在适合的地方指定选项即可
(hardware)硬件
<uses-feature android:name="android.hardware.camera"/>
<uses-feature android:name="android.hardware.camera,autofocus"
android:required="false"/
/> *auto focus(自动对焦)
<uses-feature android:name="android.hardware.camera.flash"
android:required="false"
/>
也可以使用OpenGL指定最低版本只需要使用glEsVersion属性
supports-screen指定用于那种设备的尺寸
smallScreens QVGA
normalScreens HVGA WVGA WQBGA
largeScreebs 比普通屏幕打的屏幕
xlargeScreens 比普通屏幕更大的屏幕
requiresSmallestWidthDp 允许用设备无关的像素指定支持最小的屏幕宽度
compatibleWidthLimitDp 制定一个上线
largestWidthLimitDp 指定一个绝对上线
<supports-screens android:smallScreens="false"
android:normalScreens="true"
android:largeScreens="true"
android:xlargeScreens="true"
android:requiresSmallestWidthDp="480"
android:compatibleWodthLimitDp="600"
android:largestWidhLimitDp="720"
/>
supports-gl-texture 提供特定的GL纹压所格式亚索的纹理资源
<supports-gl-textrue android:name="......">
uses-permission 安全模型(权限)
<uses-permission android:name="android,permissio.ACCESS_FINE_LOCATION">
instrumentation instrumentation测试框架(仪表)
application
<application android:icon="@drawable/icon"
android:logo="@drawable/log"
android:theme="@android:style/Theme.Light"
android:name=“.MyApplicationClass”
android:debuggable="true"
> icon(图标) theme(主题)
activity 应用程序每一个Activity都要求有一个activity标签,并使用android:name属性指定Activity类的名称。
每一个Activity节点都允许使用intent-filter子标签来定义用于启动Activity的Intent
<activity android:name=".MyActivity" android:lable="@string/app_name">
<intent-filter>
<action android: name="android.intent.action,MAIN"/>
<category android:name="android,intent.categrory,LAUNCHER"/> 类别 launcher发射器
</intent-filter>
</activity>
service
provider (供应商) 指定应用程序中的每一个Content Provider Content Provider用来管理数据库访问和共享
<provider android:name=".MyContentProvider"
android:authorities="com.paad,myaoo,MyContentProvider"/>
receiver(接收器)通过添加receiver标签可以注册一个 Broadcast Receiver不用事先启动程序
intent-filter子标签来定义触发接收器的Intent
<receiver android:name=".MyIntetnReceiver">
<intent-filter>
<action android:name="com,padd.mybroadcastaction">
</intent-filet>
</receiver>
uses-library 用于指定应用程序需要的共享库
<uses-library android:name="com.goole.android.maps"
android:required="false"/>
Manifest基本相关推荐
- Manifest merger failed : Attribute application@allowBackup value=(false) 解决方法
导入开源库出现上述错误 处理方法 在manifest中添加 xmlns:tools="http://schemas.android.com/tools" 然后在 applicati ...
- VC manifest
manifest原理和用途 dll是被动态调用的,所以会被若干个程序共享使用的 但是如果dll在应用程序不知道的情况下升级了.或是被另一个程序更改了,就可能会出现问题,即"DLL Hell& ...
- Rocksdb 写流程,读流程,WAL文件,MANIFEST文件,ColumnFamily,Memtable,SST文件原理详解
文章目录 前言 Rocksdb写流程图 WAL 原理分析 概述 文件格式 查看WAL的工具 创建WAL 清理WAL MANIFEST原理分析 概述 查看MANIFEST的工具 创建 及 清除 MANI ...
- html扩展名用于保存清单文件,HTML5 manifest ApplicationCache
使用 HTML5,通过创建 cache manifest 文件,可以轻松地创建 web 应用的离线版本. HTML5引入了应用程序缓存,这意味着 web 应用可进行缓存,并可在没有因特网连接时进行访问 ...
- manifest文件
在Android的APP中必不可少的就是AndroidManifest文件: 词法: <manifest xmlns:android="http://schemas.android.c ...
- android manifest 权限组,Android的单个或多个权限动态申请
前言 在Android 6.0(API 级别 23)以下申请权限是非常简单的,直接在AndroidManifest.xml这个配置文件中加入申请权限的列表就可以了,比如我要申请四个权限,如下: 但是在 ...
- Android - Manifest 文件 详解
Manifest 文件 详解 本文地址: http://blog.csdn.net/caroline_wendy/article/details/20899281 Manifest可以定义应用程序及其 ...
- applet打包的MANIFEST.MF配置
为什么80%的码农都做不了架构师?>>> Permissions: all-permissions Codebase: * Manifest-Version: 1.0 Trus ...
- org.codehaus.plexus.archiver.jar.Manifest.write(java.io.PrintWriter)
问题:创建spring boot项目时, pom.xml报错org.codehaus.plexus.archiver.jar.Manifest.write(java.io.PrintWriter)问题 ...
- pom.xml错误:org.codehaus.plexus.archiver.jar.Manifest.write(java.io.PrintWriter)的解决方法
pom.xml错误:org.codehaus.plexus.archiver.jar.Manifest.write(java.io.PrintWriter)的解决方法 参考文章: (1)pom.xml ...
最新文章
- Spring MVC那点事儿
- win7发现不了无线网络_win10系统间设置共享文件夹后“网络”选项下仍然无任何文件(即发现不了共享电脑)...
- StackOverflow 上面最流行的 7 个 Java 问题!
- 我的同学是计算机作文,同学相见作文
- Bootstrap3系列:下拉菜单
- mac版本查看日志命令
- java动态语言_探秘Java 7:JVM动态语言支持详解
- mysql 浮点数补零_如何执行MySQL的'SUM',但'0'小数位?
- HTML学习总结(6)——表单
- 数据库事务特征、数据库隔离级别,以及各级别数据库加锁情况(含实操)--read uncommitted篇...
- 康熙字典收录多少汉字_《康熙字典》一共有多少个字
- snmpwalk工具使用
- 免费搜索引擎提交网址大全
- Leetcode0720. 词典中最长的单词(simple)
- 亚马逊巴西站对中国商家正式开放试运营,如何快速提升销量
- android 提纲挈领
- NFT/Web3/区块链项目孵化包装策划,到底该自建运营还是专业外包孵化?
- 微信大量下架数字藏品相关小程序:NFT产品究竟是未来还是陷阱?
- 审计局计算机安全领导小组,南宁市审计局关于印发《岗位信息安全和保密责任制度》的通知...
- 51基于OLED的高精度计算器设计
热门文章
- 鸟哥Linux私房菜:第六章笔记
- 使用FeatureTask多线程优化in,提高查询速度
- 什么是Visa payWave
- java的protect_java的public,protect,缺省,private修饰符的访问权限
- 十二个“一”的特征与剑三中十二门派风格相对应
- CSS字体、行高等其他样式
- [Matlab] Matlab中rand,randn,rands和randi函数使用
- 创新数据库技术 成就IOD愿景携DB2 25载创新 IBM推新“信息议程”
- Linux/macOS 命令符列表
- 面试官:你知道Dubbo怎么做优雅上下线的吗?你:优雅上下线是啥?