我们都知道对于多个Activity如果在同一个包中,在Mainfest中可以这样注册
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.trinea.sns.activity"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="3" />
<uses-permission android:name="android.permission.INTERNET" />
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".UpdateStatusActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".ViewSnsActivity"
android:label="@string/app_name">
</activity>
</application>
</manifest>
上面的UpdateStatusActivity和ViewSnsActivity同样在包com.trinea.sns.activity下面可以如此定义,但如果
UpdateStatusActivity在包com.trinea.sns.activity下,而ViewSnsActivity在包com.trinea.sns.activity2下面怎么办呢
每一个Activity、Service等应用程序组件都会对应AndroidManifest.xml文件中的一个<activity>、<service>标签。在这些标签中有一个必选的属性:android:name,该属性需要指定一个类名,像上面的.UpdateStatusActivity和android.intent.action.MAIN。大家发现这两个有什么不同了吗,对了。第一个是.的方式而第二个是全路径的方式。指定android:name属性值有3种方式,如下:
1. 指定完全的类名(packagename+classname),例如,net.blogjava.mobile.Main。
2. 只指定类名,例如,.Main,其中Main前面的“.”是可选的。该类所在的包名需要在<manifest>标签的package属性中指定。
3. 指定相对类名,这种方式类似于第2种方式,只是在<activity>标签的android:name属性中不光指定类名,还有部分包名。例如,如果Main类在net.blogjava.mobile.abcd包中,就可以在<manifest>标签的package属性中指定net.blogjava.mobile,然后在<activity>标签的android:name属性中指定.abcd.Main。
由此可见,package的目的是为了更方便地指定android:name以及其他相关属性的值,就是一个默认的包。如果不在android:name中指定包名,会自动将package属性值加在前面
参考:http://developer.android.com/guide/topics/manifest/activity-element.html#nm
分享到:
相关推荐
apk主配置AndroidManifest.xml信息查看工具,只要将apk文件拖到AppInfo.bat上面即可,另外dex-method-count.bat能计算apk包含的方法数
一个解密apk 包中AndroidManifest.xml 的工具,命令行直接使用,生成一个明文的xml 文件。 AndroidManifestConver.exe c:\src.xml c:\dest.xml
AndroidManifest.xml反编译工具,包含工具和使用方法。
Android 报错:Entry name ‘AndroidManifest.xml’ collided前言解决方法1、直接退回3.5.32、排除打包文件3、使用旧打包工具4、最终解决方法完事 前言 这两天 Android studio 更新了 3.6 版本,天天在右下角提示 ...
几个批处理文件,用来自动批量提取apk文件中的AndroidManifest.XML文件
本文件用来修改二进制文件AndroidManifest.xml的内容!!!
详细阐述androidmanifest.xml各个属性的含义和用法
使用Java语言实现将AndroidManifest.xml编译成特定的二进制文件。
Android教程之AndroidManifest.xml文件 详细介绍及用法解析
androidmanifest.xml分析工具,将文件与androidmanifest.xml放在同一目录下运行python XMLanalysis.py即可
一、关于AndroidManifest.xml AndroidManifest.xml 是每个android程序中必须的文件。它位于整个项目的根目录,描述了package中暴露的组件(activities, services, 等等),他们各自的实现类,各种能被处理的数据和...
上次传的main activity代码配套,欢迎页面太丑没穿,好吧,就这样。
android反编译:修改apk生成的二进制文件AndroidManifest.xml文件。
AndroidManifest.xml文件详解 AndroidManifest android java
Android学习笔记之AndroidManifest.xml文件解析
详细剖析 androidmanifest.xml 文件,罗列各节点,属性的作用,非常值得参考!!!
Android教程之AndroidManifest.xml
android系统AndroidManifest.xml文件解析,供参考。
androidmanifest 文件 基础 解读 入门,讲解androidmanifest.xml的相关知识
反编译 AndroidManifest.xml