 确认您是否需要多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的更多相关文章

  1. 版本和API Level对照表

    版本和API Level对照表 Code name Version API level (no code name) 1.0 API level 1 (no code name) 1.1 API le ...

  2. Call requires API level 21(Current min is 16)

    Call requires API level 21(Current min is 16) Android开发中,遇到类似这种问题,如何处理? 一种办法是提升sdk最低版本到21,在Android s ...

  3. Android API Level在11前后及16之后时Notification的不同用法

    作为刚入门Android的小白,最近在按照郭大神的<第一行代码>在练习,在用到Notification时遇到了一些问题,网上资料比较零散,我这里做了一个总结分析给各位,若有错误,恳请指正~ ...

  4. Android版本和API Level对应关系

    http://developer.android.com/guide/topics/manifest/uses-sdk-element.html Platform Version       API ...

  5. Android版本与api Level

    Platform Version API Level VERSION_CODE Notes Android 4.4 19 KITKAT Platform Highlights Android 4.3 ...

  6. 使用ClipboardUtils兼容API LEVEL 11以下实现复杂粘贴

    实现功能:复杂粘贴内容 问题描述:android.content.ClipboardManager在APILevel 11之后才可以使用,而我们目前还要兼容API Level 10(2.3.3) 解决 ...

  7. Android SDK之API Level

    Android SDK之API Level Android SDK API_LEVEL Platform Version API Level VERSION_CODE Android 4.2, 4.2 ...

  8. Android系统版本与API Level对照表

    Platform Version API Level VERSION_CODE Notes Android 4.2 17 JELLY_BEAN_MR1   Android 4.1, 4.1.1 16 ...

  9. 【转】Android版本和API Level对应关系

    原文网址:http://blog.csdn.net/huiguixian/article/details/39928027 从Android developer copy过来,留作笔记的. Platf ...

随机推荐

  1. 使用git代替FTP部署代码到服务器的例子

    这篇文章主要介绍了使用git代替FTP部署代码到服务器的例子,这种方法可以节省流量.节省时间,需要的朋友可以参考下 本地开发完成后,通常会在服务器上部署,有人会使用ftp,有人会使用scp, ftp和 ...

  2. HDU 1573 X问题 (中国剩余定理)

    题目链接 题意 : 中文题不详述. 思路 : 中国剩余定理.求中国剩余定理中解的个数.看这里看这里 #include <stdio.h> #include <iostream> ...

  3. JScrollPane与JPanel 滚动条 解决canvas的滚动条问题

    当用JScrollPane和JPanel显示图片时,需要将JPanel的PrefferedSize及时传递给JScrollPane,否则容易出现JScrollPane的滚动条无法与图片大小匹配的问题, ...

  4. 【转】Wireshark:“There are no interfaces on which a capture can be done ”

    linux环境下 两种解决方案:    第一种方法:使用root用户登陆        xiaoshancun@xiaoshancun-VM500:~$ sudo wireshark    第二种方法 ...

  5. RN学习1——前奏,app插件化和热更新的探索

    react_native_banner-min.png React Native(以下简称RN)有大量前端开发者的追捧.前端开发是一个活跃的社区,一直尝试着一统前后端,做一个全栈开发,RN就是他们在客 ...

  6. 【Linux高频命令专题(19)】vi/vim

    概述 其实在Linux中一切命令或者软件都是文件,所以把vi/vim作为高频命令专题之一,也没什么不妥.虽然大家都称之为编辑器~~ vim是vi的高级版本,比如有代码高亮,也就是说可以把vim定位为程 ...

  7. vlc/ffmepg/mplayer/gstreamer/openmax/mpc/ffdshow/directshow

    一些应该学习的开源框架与库用途和差别 一.播放器层次 这个层次上,是直接可以用的软件,已经做完了一切工作,如果我们需要用他们,是不需要写一行代码的,编译通过就可以拿来使用了,对于国内这些山寨公司来说, ...

  8. web服务器、应用服务器、http服务器区别

    引用 WEB服务器.应用程序服务器.HTTP服务器有何区别?IIS.Apache.Tomcat.Weblogic.WebSphere都各属于哪种服务器     Web服务器的基本功能就是提供Web信息 ...

  9. 百度全新的ARM架构服务器,一个2U机箱装6台,每台4个3T硬盘,每个机箱共72TB

    1月11日,中国科学院原秘书长.国家科技重大专项国务院咨询评估组专家侯自强,来到百度南京数据中心,和他一起的还有中国工程院院士倪光南以及工业和信息化部电信研究院传输研究所副所长石友康等人.他们看到的是 ...

  10. iOS xcuserdata

    说明:       project.xcworkspace说明:is a directory of files describing the workspace or projects. Althou ...