安卓软件强制兼容腾讯热游戏排行榜小米桌面

久爱辅助网 安卓公益服

  假如你用最新的版本的SDK, 长处就是你能够利用最新的功用的api,并且编译也不会呈现任何成绩。

  假如你想具体理解下某些版本的晋级带来了哪些新特征,欢送会见Android 5.0 Behavior Changes,固然,感爱好的话也能够找到汗青版本的晋级记载,在这里就未多少说了。。。

  在Android体系中向下兼容性比力差,可是一个使用APP颠末处置仍是能够在各个版本间运转的。向下兼容性欠好,差别版本的体系其API版本也差别,天然有些接口也差别,新的平台不克不及利用旧的API,旧的平台也利用不了新的API。

  但缺陷也长短常较着,出格是对开辟者来讲,需求做好每一个新特征功用的适配以及开辟,跟着版本愈来愈高,这对开辟者前期的保护会愈来愈艰难,愈来愈多。

  普通挑选APP的最低撑持版本准绳是只管向下连结兼容,但也不是说越向下越好,次要的思索身分有下列多少点:

  假如是基于低版本SDK开辟,那末新版本中的新接口必定会编译不外,这时候候能够思索反射的方法先去查找能否存在这个办法,假如有就代表用户的手机撑持该挪用办法,假如没有则接纳低版本的处置方法。

  2.APP的针对用户群体,好比是高真个用户群体,屌丝用户群体,仍是中低端用户群体,按照差别的用户群体能够综合进去决议对最低版本的撑持。

  此办法使用处景如2,能够将高版本的api接口封装后在高版本的SDK中编译运转jar包,供旧版本的工程中静态加载。

  上面是基于android2.2 SDK 开辟情况编译的最新的工程,此中就有一些间接编译运转不外的毛病。上面能够看多少个实例:

  为了使用APP有更好的兼容性,我们能够操纵高版本的SDK开辟使用,并在法式运转时(Runtime)对使用所运转的平台判定,旧平台利用旧的API,而新平台可利用新的API,如许能够较好的进步软件兼容性。

  如某个工程设置中的最低版本是android2.2,也就是一般来讲开辟过程当中需求基于android SDK为8来唱工程开辟。但假如你没有基于adroid 2.2 SDK版本开辟,而是撑持了一个更高的版本,好比android 4.0 SDK开辟,那末许多高版本的功用特征(2.34.0)在4.0下列的手机中运转就可以够存在成绩,普通的成果就是间接crash。

  为了使老版本的sdk能用上新版本的特征以及功用,民间城市给出分外的jar包,仍是以 fragment 为例,假如我开辟的app必须要能在 2.3的体系上运转,但同时要利用 fragment 怎样办呢?此时就可以够用引入android.support.v4.jar包,这就是民间给的兼容性处理计划了。

  新的办法带来很多便当,但没法在低版本体系上运转,假如兼容性处置不患上当,APP在低版本体系上,运转时将会crash。

  普通开辟过程当中APP城市有一个最低版本的设置,比方假如要兼容到android 2.2体系,则能够配置minSdkVersion=8,这就表白能向下兼容到android 2.2版本,即APP能在android2.2版本上的手机也能一般运转,即便能够某些新特征的功用撑持生效,但最少包管不会呈现瓦解的成绩,而制止此成绩的方法就请求开辟者在代码中做好兼容以及适配。

  代码中利用Bundle工具在新版本中才供给的办法而没有加兼容处置,以下民间文档中注释,该办法在android 3.1后才有。

  获患上文件体系用量状况,在API level 9及其以上的体系,可间接挪用File工具的相干办法,下列需自行计较

  鉴于ANDROID SDK 更新较快,许多新的特征以及API在低版本中的能够没有。以是开辟过程当中只管要连结对新功用接口的兼容。

  1.各个低版本手机的市场占据率,好比2013年android 2.2的手机还占用必然的市场份额,但到如今为止根本上该份额能够疏忽不计了(今朝android 最高的版本已到达android 5.1了)

  VERSION暗示以后体系版本的信息,此中就包罗SDK的版本信息,用于成员SDK_INT暗示;

  可是缺陷就是你需求时辰对你挪用的api连结向下兼容性,由于颇有能够你现有挪用的某个api在低版本中底子就不存在。这时候候你需求思索低版本体系的用户的运转成绩了。

  3. 别离代码,别离在差别的SDK上编译运转,最初ClassLoader静态加载高版本中的相干类接口

  假如是基于高版本的SDK开辟,则新的api必定会有该办法,假如想让编译的版本在低版本中也能运转,则需求思索到版本兼容的成绩,能够用以下的方法:

  假如在低于android 3.0下机械运转以及编译该代码,假如不做任那边理,会间接编译通不外。

相关文章
评论留言