Cocos2d-x 之AndroidManifest.xml 解释

      进来需要将cocos2d项目移植到android 上,所以经常创建新的android项目,对 AndroidManifest.xml 不了解,造成了巨大的困扰

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

          package="com.woody.test"
          android:sharedUserId="string"
          android:sharedUserLabel="string resource"
          android:versionCode="integer"
          android:versionName="string"
          android:installLocation=["auto" | "internalOnly" | "preferExternal"] >
</manifest>


第一层属性
xmlns:android   定义android命名空间,一般为http://schemas.android.com/apk/res/android,这样使得Android中各种标准属性能在文件中使用,提供了大部分元素中的数据。

package 指定本应用内java主程序包的包名,它也是一个应用进程的默认名称

sharedUserId 表明数据权限,因为默认情况下,Android给每个APK分配一个唯一的UserID,所以是默认禁止不同APK访问共享数据的。若要共享数据,第一可以采用Share Preference方法,第二种就可以采用sharedUserId了,将不同APK的sharedUserId都设为一样,则这些APK之间就可以互相共享数据了。

sharedUserLabel  共享的用户名 设置了 shareUserlabel才有效

versionName 这个是版本号 是给用户看的

installLocation 是优先安装位置

第二层(<Application>):属性

一个androidmanifest必须有一个Application标签,它是用来表明应用程序的属性和组件

<application  android:allowClearUserData=["true" | "false"]
             android:allowTaskReparenting=["true" | "false"]
             android:backupAgent="string"
             android:debuggable=["true" | "false"]
             android:description="string resource"
             android:enabled=["true" | "false"]
             android:hasCode=["true" | "false"]
             android:icon="drawable resource"
             android:killAfterRestore=["true" | "false"]
             android:label="string resource"
             android:manageSpaceActivity="string"
             android:name="string"
             android:permission="string"
             android:persistent=["true" | "false"]
             android:process="string"
             android:restoreAnyVersion=["true" | "false"]
             android:taskAffinity="string"
             android:theme="resource or theme" >
</application>
android:allowClearUserData('true' or 'false') 用户可以自行清除数据的选项

<span style="font-family:Microsoft YaHei;">android:allowTaskReparenting 允许<span style="color: rgb(51, 51, 51); font-size: 13px; line-height: 19.5px;">activity 更换从属任务 </span></span>
<span style="font-family:Microsoft YaHei;"><span style="color: rgb(51, 51, 51); font-size: 13px; line-height: 19.5px;">
</span></span>
<span style="font-family:Microsoft YaHei;"><span style="color: rgb(51, 51, 51); font-size: 13px; line-height: 19.5px;"><span style="color: rgb(51, 51, 51); font-family: verdana, sans-serif; font-size: 13px; line-height: 19.5px;">android:backupAgent <span style="color: rgb(51, 51, 51); font-family: verdana, sans-serif; font-size: 13px; line-height: 19.5px;">设置该APP的备份(暂时未用到)</span></span>
</span></span>
<span style="font-family: verdana, sans-serif;">
</span>
<span style="font-family: verdana, sans-serif;">android:debuggable <span style="color: rgb(51, 51, 51); font-family: verdana, sans-serif; font-size: 13px; line-height: 19.5px;">当设置为true时,表明该APP在手机上可以被调试</span></span>

android:description/android:label 第一句描述字符串资源许可,第二句警告用户如果批准该权限会可能有什么不好的事情发生

android:enabled android系统是否能够实例化该应用程序的组件,如果为true,每个组件的enabled属性决定那个组件是否可以被 enabled。如果为false,它覆盖组件指定的值;所有组件都是disabled。

android:hasCode 表示此APP是否包含任何的代码,默认为true,若为false,则系统在运行组件时,不会去尝试加载任何的APP代码

android:icon 声明整个APP的图标,图片一般都放在drawable文件夹下

android:killAfterRestore   ~
android:manageSpaceActivity ~

android:name Application子类的全名。当应用程序进程开始时,该类在所有应用程序组件之前被实例化

若该类(比方androidMain类)是在声明的package下,则可以直接声明android:name="androidMain",但此类是在package下面的子包的话,就必须声明为全路径或android:name="package名称.子包名成.androidMain"

android:permission  设置许可名,这个属性若在<application>上定义的话,是一个给应用程序的所有组件设置许可的便捷方式,当然它是被各组件设置的许可名所覆盖的

android:presistent 该应用程序是否应该在任何时候都保持运行状态,默认为false。因为应用程序通常不应该设置本标识,持续模式仅仅应该设置给某些系统应用程序才是有意义的


?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.android.zdhsoft"
      android:versionCode="2"
      android:versionName="1.1">


    <uses-sdk android:minSdkVersion="8"/>  //sdk版本号
    <uses-feature android:glEsVersion="0x00020000" /> <span style="color: rgb(51, 51, 51); font-family: verdana, sans-serif; font-size: 13px; line-height: 19.5px;">描述应用所需要的硬件和软件特性,以便防止应用在没有这些特性的设备上安装。</span>


    <application android:label="@string/app_name" label 名称
        android:icon="@drawable/icon"> 图标


        <activity android:name=".MyGame"  项目名称
                  android:label="@string/app_name" //中文名
                  android:screenOrientation="landscape" //横竖屏
                  android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
//<span style="color: rgb(51, 51, 51); font-family: verdana, sans-serif; font-size: 13px; line-height: 19.5px;">是一个资源的风格,它定义了一个默认的主题风格给所有的activity,当然也可以在自己的theme里面去设置它,有点类似style</span>
                  android:configChanges="orientation">
<div style="color: rgb(51, 51, 51); font-family: verdana, sans-serif; font-size: 13px; line-height: 19.5px;">当配置list发生修改时, 是否调用 onConfigurationChanged() 方法  比如 "locale|navigation|orientation". </div><div style="color: rgb(51, 51, 51); font-family: verdana, sans-serif; font-size: 13px; line-height: 19.5px;">这个我用过,主要用来看手机方向改变的. android手机在旋转后,layout会重新布局, 如何做到呢?</div><div style="color: rgb(51, 51, 51); font-family: verdana, sans-serif; font-size: 13px; line-height: 19.5px;">正常情况下. 如果手机旋转了.当前Activity后杀掉,然后根据方向重新加载这个Activity. 就会从onCreate开始重新加载.</div><div style="color: rgb(51, 51, 51); font-family: verdana, sans-serif; font-size: 13px; line-height: 19.5px;">如果你设置了 这个选项, 当手机旋转后,当前Activity之后调用onConfigurationChanged() 方法. 而不跑onCreate方法等.</div>
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>


android:priority(解释:有序广播主要是按照声明的优先级别,如A的级别高于B,那么,广播先传给A,再传给B。优先级别就是用设置priority属性来确定,范围是从-1000~1000,数越大优先级别越高)
Intent filter内会设定的资料包括action,data与category三种。也就是说filter只会与intent里的这三种资料作对比动作

最常用的当属<uses-permission>,当我们需要获取某个权限的时候就必须在我们的manifest文件中声明,此<uses-permission>与<application>同级,具体权限列表请看此处
通常情况下我们不需要为自己的应用程序声明某个权限,除非你提供了供其他应用程序调用的代码或者数据。这个时候你才需要使用<permission> 这个标签。很显然这个标签可以让我们声明自己的权限。


这些是经过整理的 内容 详细请参考 http://www.cppblog.com/zdhsoft/archive/2014/02/03/cocos2dx03.html 相关资料


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值