一直以来,我总是以“够用就好”为理由,很少再维护过自己的一键打包的项目。最近接触了棱镜的sdk,感觉将apk包上传到棱镜服务器,后台来进行分包这种简单的方式很招人待见。

  原理似乎不难,apk即zip压缩文件,解压后需要处理的主要是classes.dex,二进制的AndroidManifest.xml和resources.arsc文件。转载的那篇文章详细的介绍了使用android原生指令编译出apk的过程,从中也可以了解到这些文件的生成方法。

  nosdk现在已经实现了中间层的代码,不过预先编译各平台的classes.dex和AndroidManifest.xml等文件,解压缩apk,替换各种文件,这几步依旧是不小的工程。

  关于那篇文章的有效性我目前还未实验,因此未来的计划分为以下三步:

  1. 使用原生android指令打一次包,熟悉apk中各文件的作用及生成方式;
  2. 使用nosdk中的一个平台,手动替换其中的文件为另一个平台的文件,看看能否实现平台切换的效果(其实主要看看能不能运行);
  3. 将2中的手工劳动改为代码自动实现。

  当然,实现这些东西,乐观估计的话,也得三年多。

  关于nosdk以后的设计,我觉得它需要遵循以下几点:

  • 安全,因此我不打算使用中间的服务器层,虽然最后为了同步不同平台的服务器消息肯定会用到,但我希望它至少只能是示例;
  • 开放,它肯定是开放源代码的,很多的平台,肯定是需要很多人来接入甚至来维护的,若是能够因此组成一个社区,若是大家能齐心协力做好一件事情,那自然是再好不过了;
  • 简易,当然若是想让它受欢迎,首先得保证它的傻瓜式的操作;
  • 稳定,主要是代码的可维护性,可扩展性。

  先想那么多吧。

NOSDK--关于android傻瓜式的分包设想的更多相关文章

  1. Android简易项目--傻瓜式阿拉伯语输入法(Dummy Arabic Input)

    一.应用名称 Android简易项目--傻瓜式阿拉伯语输入法(Dummy Arabic Input) 二.应用图标 三.应用说明 现在通行的阿拉伯语键盘布局并无规律可循,阿拉伯语使用者需要花费较多时间 ...

  2. 在线App开发平台——应用之星傻瓜式开发平台

    随着智能手机及APP应用程序的普及,越来越多的企业和个人意识到APP的营销价值,出于对技术的敬畏,很多企业下意识认为开发APP是一个有难度的技术活,所以很多时候有心无力,也担心APP的后续的技术支持. ...

  3. webpack之傻瓜式教程

    接触webpack也有挺长一段时间了,公司的项目也是一直用着webpack在打包处理,但前几天在教新人的情况下,遇到了一个问题,那就是:尽管网上的webpack教程满天飞,但是却很难找到一个能让新人快 ...

  4. 傻瓜式操作Nagios

    傻瓜式操作Nagios   不少接触Nagios的朋友都会觉得安装配置困难,应用在企业网中所花费的时间成本很高,下面通过OSSIM来搞定它把. 为了节省资源,首先在淘汰的机器上安装一个低版本的OSSI ...

  5. Android 沉浸式状态栏 实现方式二 ( 更简单 )

    以前写过一个沉浸式状态栏 的实现方式 Android 沉浸式状态栏 实现方式一 现在有个更为简单的实现方式 . 相关链接 http://www.apkbus.com/forum.php?mod=vie ...

  6. Android沉浸式(侵入式)标题栏(状态栏)Status(三)

     Android沉浸式(侵入式)标题栏(状态栏)Status(三) 从附录文章1,2可以看到,依靠Android系统提供的标准方案,状态栏即便在透明状态下,仍然有些半透明而不是全透明.本文是And ...

  7. Android沉浸式(侵入式)标题栏(状态栏)Status(二)

     Android沉浸式(侵入式)标题栏(状态栏)Status(二) 附录1以xml写style实现了Android沉浸式(侵入式)状态栏(标题栏),同样以上层Java代码实现.在附录文章1的基础上 ...

  8. Android沉浸式(侵入式)标题栏(状态栏)Status(一)

     Android沉浸式(侵入式)标题栏(状态栏)Status(一) 现在越来越多的APP设计采用这种称之为沉浸式状态栏(Status)的设计,这种沉浸式状态栏又称之"侵入式"状 ...

  9. 傻瓜式理解递归之php递归

    写程序这么久了,有时候别人会问道一些算法比如排序啊,递归啊,总是不知道该怎么去说,今天就来整理一下,让更多的人去傻瓜式的理解递归.递归在网络上有很多定义,但有这么一句话听的最多:递归就是自己调用自己! ...

随机推荐

  1. APUE学习之出错处理

         当UNIX函数发生错误时,通常会返回一个负值,而且整形变量errno通常被设置为具有特定信息的值.        errno是全局变量,仅当函数出错才有被改变.对待errno,应注意两条规则 ...

  2. web测试与app测试的区别

    才开始做测试就接触的web端,后来也接触app端,所以在这里对于自己工作中所接触到的做一些总结(总要养成总结的好习惯). 对于web端和移动端app,功能方面的测试,例如测试设计方法这些都大同小异,都 ...

  3. sql2008“备份集中的数据库备份与现有的xx数据库不同”解决方法

    http://www.cnblogs.com/huangfr/archive/2012/08/09/2629687.html 因为是在另一台电脑对同名数据库做的备份,用常规方法还原,提示不是相同数据库 ...

  4. Java 8 指南

    Benjamin Winterberg “Java is still not dead—and people are starting to figure that out.” 欢迎阅读我对 Java ...

  5. [LeetCode] Populating Next Right Pointers in Each Node II 每个节点的右向指针之二

    Follow up for problem "Populating Next Right Pointers in Each Node". What if the given tre ...

  6. php杂项

    php5.3新增闭包函数用法use用法(引入变量地址且随内存中值变化而变化,跳过解析顺序直接获取函数最终值) $obj = (object) "Hello, everyone"; ...

  7. 篇二:MySQL存储过程

    目的:写一个存储过程,往数据库中插入几百条数据,作为识别码给别人用(这里我觉得和验证码的功能相似) BEGIN ); ); ) ; ); ); ; ; while count <= insert ...

  8. [HTML5] Blob对象

    写在前面 本篇主要总结Blob对象属性及作用,通过DEMO介绍Blob对象的应用场景. Blob对象 一直以来,JS都没有比较好的可以直接处理二进制的方法.而Blob的存在,允许我们可以通过JS直接操 ...

  9. PRINCE2特征(三)

    提到不确定性,可能很多从事项目管理相关工作的人都会感同身受,一系列临时性问题,比如:变更.延期.调整.计划赶不上变化.团队调整等的出现,都是项目中再正常不过的内容.但正常不等于合理,我们还是要去思考一 ...

  10. C#-WebForm-文件上传-FileUpload控件

    FileUpload - 选择文件,不能执行上传功能,通过点击按钮实现上传 默认选择类型为所有类型 //<上传>按钮 void Button1_Click(object sender, E ...