Android 系统解析AndroidManifest
来源:互联网 发布:双色球万能矩阵必中6码 编辑:程序博客网 时间:2024/06/05 11:54
对于Android APP应用程序开发来说,AndroidManifest.xml里面所配置的内容,至关重要,在安装.apk文件的时候,Android操作系统是如何解析AndroidManifest.xml里面内容的呢:
AndroidManifest.xml 内容结构:
包相关信息(包名,版本code,版本name,等等)
应用相关信息(应用图标,应用名称,等等)
Activity相关信息(Activity名称,等等)
模拟Android系统的安装程序,安装过程中对AndroidManifest的对象封装:
/** * Android操作系统是如何去解析分解AndroidManifest */ private void androidOSDecompositionAndroidManifest() { try { /** * 当应用程序安装的时候,Android操作系统的安装程序,就会去解析AndroidManifest.xml文件里面的信息 * Android操作系统的安装程序,该如何去解析呢,肯定是以面向对象的思想方式去封装。 */ /** * Android操作系统的安装程序在安装之前,就已经对所有应用进行了包管理: */ // package管理:管理Android里面所有的应用 PackageManager pm = getPackageManager(); // 首先获取已经安装OK的应用程序的package包,它把包的信息进行了对象实体的封装PackageInfo List<PackageInfo> packageInfos = pm.getInstalledPackages(0); // 指定包名,获取包信息 PackageInfo packageInfo = pm.getPackageInfo("com.liudeli.day3.android_manifest", 0); // 得到包名 String packageName = packageInfo.packageName; // 得到版本号信息 int versionCode = packageInfo.versionCode; String versionName = packageInfo.versionName; // 在包的里面,有applicationInfo,获取应用信息 ApplicationInfo applicationInfo = packageInfo.applicationInfo; // 获取应用图标 Drawable icon = applicationInfo.loadIcon(pm); // 获取应用名称 CharSequence label = applicationInfo.loadLabel(pm); // 我们从表面上看,以为ApplicationInfo 里面有Activity信息,其实不是这样的 // Activity信息是在packageInfo里面 ActivityInfo[] activityInfos = packageInfo.activities; ActivityInfo activityInfo = activityInfos[0]; // 得到Activity的名字 String name = activityInfo.name; } catch (Exception e) { e.printStackTrace(); } }
AndroidManifest 里面package的配置:
模拟Android系统安装程序的package对象封装:
AndroidManifest 里面application的配置:
模拟Android系统安装程序的application对象封装:
AndroidManifest 里面activity的配置:
模拟Android系统安装程序的activity对象封装:
我们从表面上看,以为ApplicationInfo 里面有Activity信息,其实不是这样的
Activity信息是在packageInfo里面
谢谢大家的观看,更多精彩技术博客,会不断的更新,请大家访问,
刘德利CSDN博客, http://blog.csdn.net/u011967006
阅读全文
0 0
- Android 系统解析AndroidManifest
- Android 配置文件 AndroidManifest 解析
- 关于android系统对AndroidManifest文件的解析机制
- Android AndroidManifest.xml文件解析
- Android解析AndroidManifest.xml文件
- [Android] AndroidManifest.xml文件解析
- android AndroidManifest.xml文件解析
- 【Android】AndroidManifest.xml文件解析
- android中AndroidManifest文件解析
- Android从零开始-AndroidManifest.xml解析
- android 解析未安装apk中的AndroidManifest.xml以及系统源码分析
- Android中的AndroidManifest.xml文件解析
- Android学习(一) - AndroidManifest.xml解析
- Android之AndroidManifest.xml文件解析
- Android学习之AndroidManifest.xml文件解析
- Android之 AndroidManifest.xml 文件解析
- Android之AndroidManifest.xml文件解析
- android基础知识13:AndroidManifest.xml文件解析
- 多线程
- 二维码生成,扫描
- 初识Spring Boot框架
- 使用Atlas实现mysql读写分离 实现数据库负载均衡
- __bridge
- Android 系统解析AndroidManifest
- [NOIP模拟] Ball
- IntelliJ-IDEA 快捷键(一)
- 软件工程餐馆点菜之需求分析
- HttpURLConnectionh和HttpClient访问网络资源
- Spring.Net在MVC4中的使用
- 静态链表的基本操作及其应用(实验2.3)
- Spring Boot Starter的面试题
- 大学生职业生涯规划书范文