文档章节

AndroidManifest.xml注意事项

今日竹石
 今日竹石
发布于 2014/03/12 16:10
字数 770
阅读 1466
收藏 6

一、target SDK version
Android Runtime和Dalvik会根据target SDK version决定是否工作在『兼容模式』下,所谓兼容模式,就是关闭了新版本中各种新机制和体验优化的状态。targetSdkVersion如果设置很低,就等于是关闭了所有高版本的新特性和机制,包括『屏幕自适应』、『硬件加速』。
为了保证各个版本的兼容性,及时使用到新特性,targetSdkVersion因随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
二、<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 have 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

 

 

 

 

   我们经常在开发app的时候在AndroidManifest.xml发现这个警告warining:"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."

 

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

 

        我的理解就是这个警告是在提醒我们没有匹配使用最新的sdk版本,可能导致app在最新的系统上面无法利用最新的特性或功能,去掉这个警告的办法就是把uses-sdk标签中的android:targetSdkVersion属性改为你电脑上面最新的sdk版本,例如我的电脑上最新的sdk是android4.4,它的版本号是19,那么我应该写成“android:targetSdkVersion="19"”,这样就不会报错了,如果你电脑的sdk是android4.0,那么改为android:targetSdkVersion="14"即可。

 

        当然,我们也可以无视这个警告,毕竟市场上的android系统版本还是要比开发sdk最新版本慢一段时间的,及时我们为高版本做了适配,也要等上一段时间才可能装载相应的android高版本手机上,所以我们可以将android:targetSdkVersion定为目前市场上最新或者普遍流行的高版本即可。

 


© 著作权归作者所有

今日竹石
粉丝 41
博文 227
码字总数 181312
作品 0
朝阳
程序员
私信 提问
加载中

评论(1)

w
wewaa
hao
Unity3D学习笔记(一)接入百度移动广告(Android详细讲解)

做好的项目包下载地址 http://down.51cto.com/data/2211800 开发了第一款Unity3D游戏后,想在上面接入广告赚点小钱,于是就在网上搜索如何接入百度移动广告。由于自己的经验不足,导致折腾了...

wty530
2016/04/10
0
0
[Android] - 如何写Instrumentation UT Manifest.xml

最近因Android项目需要,开始写一些unit test. 基础原理及一般流程可参照SDK,这里主要想说说UT的配置文件AndroidManifest.xml的一些注意事项。 UT工程的AndroidManifest.xml基本结构当然跟普...

teaspring
2014/07/24
0
0
通过DexClassLoader加载包apk或者zip,assets文件读取问题

问题:通过DexClassLoader加载包apk或者zip, 通过getAssets().open("xxx"), 会读取不了文件,需要通过class.getResourceAsStream("/assets/pasysremotebanner.jar"); 如果非要通过getAssets......

绝对是路过
2016/07/07
162
0
android:configChanges 属性注意事项 翻转不起作用的问题

转屏时,配置了android:configChanges="keyboardHidden|orientation" 还是会调用oncreate ,原来是因为没有配置screensize属性导致。 如此这般,还是不起作用啊,原来5.1的还要添加上权限,如...

carlos
2015/09/26
829
0
AndroidManifest.xml注意事项

一、target SDK version Android Runtime和Dalvik会根据target SDK version决定是否工作在『兼容模式』下,所谓兼容模式,就是关闭了新版本中各种新机制和体验优化的状态。targetSdkVersion如...

今日竹石
2014/04/09
66
0

没有更多内容

加载失败,请刷新页面

加载更多

VMware vSphere ESXi主机的访问控制

在vShpere中,访问ESXi主机的途径很多,如下: ESXi DCUI ESXi Shell ESXi SSH ESXi Host Client vCenter --> vSphere web client / vSphere Client VMware vSphere ESXi主机的访问控制,除了......

大别阿郎
32分钟前
4
0
大神讲解CGI、FastCGI和PHP-FPM关系图解

参考资料 概念了解:CGI,FastCGI,PHP-CGI与PHP-FPM:http://www.nowamagic.net/librarys/veda/detail/1319 php中fastcgi和php-fpm是什么东西:https://www.zybuluo.com/phper/note/50231 ......

网络小虾米
41分钟前
4
0
《DNS攻击防范科普系列3》 -如何保障 DNS 操作安全

引言 前两讲我们介绍了 DNS 相关的攻击类型,以及针对 DDoS 攻击的防范措施。这些都是更底层的知识,有同学就来问能否讲讲和我们的日常操作相关的知识点,今天我们就来说说和我们日常 DNS 操...

Mr_zebra
42分钟前
4
0
zk中ServerCnxn

实现接口Stats, Watcher 内部类 DisconnectReason CloseRequestException EndOfStreamException(流关闭) 属性 方法 getSessionTimeout 获取session失效时间 sendResponse 发送回复数据 se......

writeademo
47分钟前
4
0
如何将 Redis 用于微服务通信的事件存储

来源:Redislabs 作者:Martin Forstner 翻译:Kevin (公众号:中间件小哥) 以我的经验,将某些应用拆分成更小的、松耦合的、可协同工作的独立逻辑业务服务会更易于构建和维护。这些服务(也...

中间件小哥
50分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部