SDK Add-on 是一个比较小众的话题,一是通常厂商不会公开自己的add-on,二是即便公开了,应用开发者也很少使用。所以通常是厂商自己的技术团队自娱自乐,框架团队抽取公用的控件,制成一个 add-on,然后公布给自家的应用程序开发团队。
由于是小众的,所以网络中关于这方面的资料比较少。这几天由于工作原因,我有幸接触到 Add-on,因此把这方面的知识进行了汇总,整理成如下内容。这些知识来自于我对 sample 示例的理解,并经过项目实践验证,我竭力保证无误,但差错之处也可能存在,如发现,请指正。
以下内容将分成若个步骤:
- 添加模块;
- 添加资源文件;
- 加入编译脚本;
- 发布;
[ Read More » ]
September 8th, 2010 in
Software | tags:
Android |
1 Comment
这两天心血来潮,执行完 repo sync 后,顺手来了一下 make,不料却发现了以下的错误。
兵来将挡,水来土掩,用关键字 android “error: gnu/stubs-64.h: no such file or directory” 来搜一下吧,发现搜索结果寥寥无几,看样子问题比较新,其中有一个 CSDN 的链接,就顺手点了过去。帖子反映的问题和我一模一样,不过它的分析给了我一些提醒。
host C: libclearsilver-jni <= external/clearsilver/java-jni/j_neo_util.c
In file included from /usr/include/features.h:378,
from /usr/include/string.h:26,
from external/clearsilver/java-jni/j_neo_util.c:1:
/usr/include/gnu/stubs.h:9:27: error: gnu/stubs-64.h: No such file or directory
make: *** [out/host/linux-x86/obj/SHARED_LIBRARIES/libclearsilver-jni_intermediates/j_neo_util.o] Error 1
[ Read More » ]
July 7th, 2010 in
Software | tags:
Android,
Linux |
17
Comments
默认情况下,一个应用不管有多少个 Activity、Service 或其他组件,它们都是运行在一个进程上,但是我们可以安排 Service 运行一个新的进程上,但是不同进程之间应该如何通信呢?当需要在不同的进程之间传递对象时,应该怎么做呢?AIDL(Android Interface Definition Language) 便是解决这一问题的钥匙。
使用 AIDL 并不是难事,但是比较繁琐,并且一不小心容易出错。好在 Android Dev Guide 的Designing a Remote Interface Using AIDL 对这个问题讲解非常详细,再结合 Android APIDemo 中的 Remote Service Binding 给出了的示例,这都给了开发者提供了非常到位的帮助。以下内容就是我结合二者,整理出来的笔记,力求真理,但能力有限,差错难免,请读者坚持自己的判断力,本文只供参考,且不可尽信。
[ Read More » ]
May 20th, 2010 in
Software | tags:
Android |
No Comments
同时运行多个应用程序,即 Multitask,对于现在的 OS 来说,是个稀松平常的事情,–IPhone OS 另当别论。Android 对 Multitask 的处理方式有着自己独到之处,这让从其他平台转来的开发者有点发懵。凡事知其然,更要知其所以然,要设计出和 Android 完美“融合”的应用程序,理解 Multitask 是非常有必要的。这篇博文从设计考量出发,告诉你问题的大环境是什么,然后讲述现在的处理机制对于应用程序的影响,最后引出开发者应该如何利用好这一机制。
移动设备,例如手机等,有着苛刻的技术限制,内存、电量、运算速度等都不能和 PC 相提并论,用户体验更不能照搬桌面软件或者 web 系统,任何试图在移动设备上建立起和 PC 相等的用户体验是一种不怎么明智的想法。
[ Read More » ]
May 5th, 2010 in
Software | tags:
Android |
No Comments
接触 Android 以来,一直觉得对 task、affinity 和 launch mode 一知半解,这几天潜心阅读 Dev Guide 中的 Activities and Tasks,简单做下笔记,梳理下这部分的知识。
Android 的一个特色就是 application A 的 activity 可以启动 application B 的 activity,尽管 A 和 B 是毫无干系的,而在用户看来,两个场景紧密联系,视觉上二者构成了一个整体。Android 就是把这种误觉定义为 Task,它既不是 class,也不是 AndroidMainifest.xml 中的一个元素。从表现上看 Task 就像是一个 stack,一个一个的 activity是构成 stack 的元素,做着入栈 (push) 和出栈 (pop-up)这样简单重复性的劳动。
[ Read More » ]
April 15th, 2010 in
Software | tags:
Android |
5
Comments