target SDK version

Android Runtime和Dalvik虚拟机会根据target SDK verison决定是否在【兼容模式】下。所谓兼容模式,就是关闭了新版本中各种新机制和体验优化的状态。targetSdkVerison如果设置很低,就等于是关闭了所有高版本的新特性和机制,包括屏幕自适应、硬件加速等。

为了各个Android版本的兼容性,及时使用到新特性,targeSdkVerison应随Android最新版本的发布而持续提高,以保证在各个Android版本的设备上都能获得完整的体验。

有时我们会发现这样的警告:Not targeting the latest versions of Android;compatibility modes apply.Consider testing and updating this version.Consult the android.os.Build.VERSION_CODES javadoc for details.去掉警告你只要把l例如android:targetSkVersion=“17”里面的17改为最新版本就行了

<application>中的debuggable=“true”

当debuggable打开时,除了更容易暴露在攻击下,SDK tools(包括ProGuard)也不会进行一些针对发布版本可以进行的优化,比如移除dex包中的代码调试信息(符号名,行号等),移除DEBUG和VERBOSE级别的日志输出。这些对App发布版本的容量和性能都有直接的影响。

Avoid hardcoding the debug mode;leaving it out allows debug and release builds to automatically assign one

<uses-permission>写在<application>之后

这些做,表面上看没有什么问题,但却埋下了一些<application>内部属性正确生效的隐患。

The <application> tag should appear after the elements which declare which version you need,which features you need,which libraries you need,and so on. In the past there hava been subtle bugs(such as themes not getting applied correctly) when the <application> tag appears before some of these other elements,so it's best to order your manifest in the logical dependency order.

配置两个主Activity

在AndroidManifest.xml文件里可以配置两个主Activity如下:

 <activityandroid:name=".activity.StartActivity"android:configChanges="orientation|keyboardHidden"android:launchMode="singleTop"android:theme="@android:style/Theme.Translucent"android:windowSoftInputMode="stateHidden|adjustUnspecified" ><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER"/></intent-filter></activity><activityandroid:name=".activity.StartActivity1"android:configChanges="orientation|keyboardHidden"android:launchMode="singleTop"android:theme="@android:style/Theme.Translucent"android:windowSoftInputMode="stateHidden|adjustUnspecified" ><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER"/></intent-filter></activity>

这时在手机的程序任务列表会生成两个启动task图标,分别对应上面定义的两个主Activity

看完本文有收获?请转发分享给更多人


欢迎关注“互联网架构师”,我们分享最有价值的互联网技术干货文章,助力您成为有思想的全栈架构师,我们只聊互联网、只聊架构,不聊其他!打造最有价值的架构师圈子和社区。

本公众号覆盖中国主要首席架构师、高级架构师、CTO、技术总监、技术负责人等人 群。分享最有价值的架构思想和内容。打造中国互联网圈最有价值的架构师圈子。

  • 长按下方的二维码可以快速关注我们

  • 如想加群讨论学习,请点击右下角的“加群学习”菜单入群

AndroidManifest.xml 注意事项相关推荐

  1. 安卓逆向 AndroidManifest.xml 编辑 解码与编码工具

    前段时间在安卓逆向过程中要对AndroidManifest.xml文件 进行修改,在网上找了找工具都不是很好用 然后去github找到了这个工具: xml2axml.jar 他可以将整个axml二进制 ...

  2. Android 基础 一 AndroidManifest.xml

    一.概述 AndroidManifest.xml是Android应用的入口文件,它描述了package中暴露的组件(activities, services, 等等),他们各自的实现类,各种能被处理的 ...

  3. Android学习笔记之AndroidManifest.xml文件解析

    为什么80%的码农都做不了架构师?>>>    一.关于AndroidManifest.xml AndroidManifest.xml 是每个android程序中必须的文件.它位于整 ...

  4. 【代码片段收集】Python解析AndroidManifest.xml

    写在前面的话 这个好像只适合我自己看,感觉有的代码片段复用率很高,总是反复需要用到.所以就整理一下,方便自己查找. # find the MainActivity and let the MainAc ...

  5. 用Python解析AndroidManifest.xml文件找MainActivity

    写在前面的话 这个是一篇水博客,因为我知道只要是个大二的小朋友就可以搞定,我大二就一天在搞这些事情,今天纯属吃饱了撑着,想敲键盘,等实验结果然后随便写写.我知道大家都会的,不会的小朋友随便看看然后自己 ...

  6. AndroidManifest.xml文件详解

    更多原文,请见:http://mobile.51cto.com/aprogram-340646.htm AndroidManifest.xml文件是Android系统重要的权限申请和定义配置文件,程序 ...

  7. AndroidManifest.xml配置详解

    2019独角兽企业重金招聘Python工程师标准>>> AndroidManifest.xml配置文件对于Android应用开发来说是非常重要的基础知识,本文旨在总结该配置文件中重点 ...

  8. AndroidManifest.xml配置文件详解

    AndroidManifest.xml配置文件详解 . AndroidManifest.xml配置文件对于Android应用开发来说是非常重要的基础知识,本文旨在总结该配置文件中重点的用法,以便日后查 ...

  9. AndroidManifest.xml文件剖析

    很多天翼空间社区的网友对于Android全局配置文件AndroidManifest.xml不是很熟悉,今天我们就一起看下它完整的结构以及每个节点的作用.在我们日常的开发中都少不了下面的配置,每创建一个 ...

  10. Android之 AndroidManifest.xml 文件解析

    一.关于AndroidManifest.xml AndroidManifest.xml 是每个android程序中必须的文件.它位于整个项目的根目录,描述了package中暴露的组件(activiti ...

最新文章

  1. 红帽目录服务的数据导入导出
  2. 2013\Province_C_C++_A\7.错误票据
  3. 稀疏组套索_Python中的稀疏组套索
  4. Boltzmann Machine 入门(2)
  5. IE下var丢失造成的错误
  6. c++ 等待子线程结束_进程和线程
  7. 几种 vue的数据交互形式
  8. Redis 锁的实现方案
  9. 深度学习之目标检测 第3章 传统目标检测方法基本流程
  10. 【运维工程师】运维工程师日常摘记
  11. 笔记本打开计算机不显示摄像头,笔记本电脑摄像头没有图像怎么回事_笔记本摄像头提示没有图像设备如何处理-win7之家...
  12. MIS系统(1)- MIS系统的介绍
  13. Word文档打开后不能编辑,可以这样处理
  14. Linux 入侵痕迹清理技巧
  15. 黑马程序员入学Java知识——精华总结
  16. 陶瓷电容器的结构(Ceramic Capacitor Structure)
  17. DIRECTPLAY
  18. 健壮且可读的安卓架构设计
  19. 你可能学了假流程图,7步教你绘制知识点汇总流程图
  20. 无法播放.请确保你的计算机的声卡和视频卡可以使用,并安装了最新的驱动程序

热门文章

  1. 基于ExoPlayer的ExoPlayerVideoView
  2. 商业领域中的IT技术应用之二-POS收款机及收款系统介绍
  3. corosycnpacemaker的高可用web集群
  4. 跨域请求Ajax(POST)处理方法
  5. GetPrivateProfileString的问题,获得的CString结构有问题,高手指点
  6. [日志]怎样的男人才会讨美女喜欢?
  7. 探讨SQL Server中Case 的不同用法
  8. COM中关于使用DLL的一些知识点
  9. poj 3461 Oulipo kmp 预处理
  10. Illustrator 教程,如何在 Illustrator 中更改图稿颜色?