16、编写适应多个API Level的APK
确认您是否需要多apk支持
当你试图创建一个支持跨多代android系统的应用程序时,很自然的 你希望你的应用程序可以在新设备上使用新特性,并且不会牺牲向后兼 容。刚开始的时候认为通过创建多个apk去支持多设备是最好的解决方案, 但是往往不是这样。而是使用单个的apk去替代多个apk,这样做会带来 很多好处。
单个APK的好处
1. 发布和测试简单
2. 只需维护一个代码库
3. 应用程序可以适应不同配置的设备
4. App可以跨设备运行
5. 不必考虑market的要求,apk的升级或者apk属于哪类设备
共享代码需求
无论你是修改一个已经存在的Android应用程序还是开始创建一个新 的程序,首先最重要的任务就是创建一个共用代码库。把那些只需更新 一次就可以减少项目的开发时间,减少项目错误的代码或者资源放进这 个库工程里(比如可以放在代码库里的像本地化语言字符串,颜色主题, 共用bug的修复等)。
修改AndroidManifest.xml文件
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode"1.0" package="com.example.foo">
<uses-sdk android:minSdkVersion="3" />
...
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
android:versionCode"1.0" package="com.example.foo">
<uses-sdk android:minSdkVersion="7" />
...
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
android:versionCode"1.0" package="com.example.foo">
<uses-sdk android:minSdkVersion="11" />
...
发布前的检查
往google play或其他应用市场上传程序之前,一定要根据下面的条目仔细的 检查下程序。记住,这些条目与多apk支持关系非常密。例如,所有的apk必须有 相同的包名。所有的apk必须用相同的数字证书签名。如果apk有系统版本重合的 地方,必须定义最低与最低版本号等。
16、编写适应多个API Level的APK的更多相关文章
- 版本和API Level对照表
版本和API Level对照表 Code name Version API level (no code name) 1.0 API level 1 (no code name) 1.1 API le ...
- Call requires API level 21(Current min is 16)
Call requires API level 21(Current min is 16) Android开发中,遇到类似这种问题,如何处理? 一种办法是提升sdk最低版本到21,在Android s ...
- Android API Level在11前后及16之后时Notification的不同用法
作为刚入门Android的小白,最近在按照郭大神的<第一行代码>在练习,在用到Notification时遇到了一些问题,网上资料比较零散,我这里做了一个总结分析给各位,若有错误,恳请指正~ ...
- Android版本和API Level对应关系
http://developer.android.com/guide/topics/manifest/uses-sdk-element.html Platform Version API ...
- Android版本与api Level
Platform Version API Level VERSION_CODE Notes Android 4.4 19 KITKAT Platform Highlights Android 4.3 ...
- 使用ClipboardUtils兼容API LEVEL 11以下实现复杂粘贴
实现功能:复杂粘贴内容 问题描述:android.content.ClipboardManager在APILevel 11之后才可以使用,而我们目前还要兼容API Level 10(2.3.3) 解决 ...
- Android SDK之API Level
Android SDK之API Level Android SDK API_LEVEL Platform Version API Level VERSION_CODE Android 4.2, 4.2 ...
- Android系统版本与API Level对照表
Platform Version API Level VERSION_CODE Notes Android 4.2 17 JELLY_BEAN_MR1 Android 4.1, 4.1.1 16 ...
- 【转】Android版本和API Level对应关系
原文网址:http://blog.csdn.net/huiguixian/article/details/39928027 从Android developer copy过来,留作笔记的. Platf ...
随机推荐
- SDUT2484算术表达式的转换
http://acm.sdut.edu.cn/sdutoj/showproblem.php?pid=2484&cid=1182 题目描述 小明在学习了数据结构之后,突然想起了以前没有解决的算术 ...
- SDUT2141数据结构实验图论一:基于邻接矩阵的广度优先搜索遍历
http://acm.sdut.edu.cn/sdutoj/showproblem.php?pid=2141&cid=1186 #include<cstdio> #include& ...
- CAS(Compare and Swap)理解
什么叫CAS(Compare and Swap)? 硬件同步原语!! 什么蛋疼的名字,一般人很难理解.根据英文全称翻译==比较与交换,这个名字大致还能理解一点,目前先暂且这么理解吧. 有啥用处? 对 ...
- lintcode:合并区间
题目: 合并区间 给出若干闭合区间,合并所有重叠的部分. 样例 给出的区间列表 => 合并后的区间列表: [ [ [1, 3], [1, 6], [2, 6], => [8, 10], [ ...
- Python list去重及找出,统计重复项
http://bbs.chinaunix.net/thread-1680208-1-1.html 如何找出 python list 中有重复的项 http://www.cnblogs.com/feis ...
- Sina App Engine(SAE)入门教程(8)- SaeFetchurl使用
fetchurl是什么? FetchURL是SAE为开发者提供的分布式网页抓取服务,用来同步的抓取http页面,FetchURL针对国内的网络的做了优化,内部有调度系统,尽可能保证用户快速的抓取到目标 ...
- Java发送Http请求
package com.liuyu.test; import java.io.BufferedReader; import java.io.IOException; import java.io.In ...
- BZOJ 1297 迷路(矩阵)
题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=1297 题意:给出一个带权有向图,权值为1-9,顶点个数最多为10.从1出发恰好在T时刻到 ...
- Android log日志
LOG是用来记录程序执行过程的机制,它既可以用于程序调试,也可以用于产品运营中的事件记录.在Android系统中,提供了简单.便利的LOG机制,开发人员可以方便地使用. androidsdk中提供了l ...
- ASP.NET中如何删除最近打开的项目和文件的记录
ASP.NTET中总是保留最近打开的项目和文件的记录,甚至是已删除的它也不删.下面介绍几种删除的方法: 第一种:建立一个bat文件,以后双击即可清除,内置代码如下: @echo off@REG Del ...