Android SDK Add-on Configure, Compile and Release

Android

SDK Add-on 是一个比较小众的话题,一是通常厂商不会公开自己的add-on,二是即便公开了,应用开发者也很少使用。所以通常是厂商自己的技术团队自娱自乐,框架团队抽取公用的控件,制成一个 add-on,然后公布给自家的应用程序开发团队。

由于是小众的,所以网络中关于这方面的资料比较少。这几天由于工作原因,我有幸接触到 Add-on,因此把这方面的知识进行了汇总,整理成如下内容。这些知识来自于我对 sample 示例的理解,并经过项目实践验证,我竭力保证无误,但差错之处也可能存在,如发现,请指正。

以下内容将分成若个步骤:

  1. 添加模块;
  2. 添加资源文件;
  3. 加入编译脚本;
  4. 发布;
[ Read More » ]

温故知新:nested class & inner class

如果不是去读 Android 的源码,我不会想到在自己的 toolkit 里还有 inner class 这么一把小“锉刀”。如果不是发现non-static variable this cannot be referenced from a static context,我不会想到去查 inner class 的知识,也就不会发现自己对 inner class 的理解一直都是错误的。

七年前学习 Java 时,明白一个 class 可以定义在另外一个 class 里,编译后各自生一个后缀为 .class 的文件,此后很少用到这种方式,直到看到 Android ,叹其大量运用 inner class。当我试图对某个 inner class 进行修改,删去其类修饰符(class modifier)中的 static 时,Eclipse 给出了这样的提示:

[ Read More » ]

Android SDK and AVD Manager (Linux) : Network is unreachable

Android

去年撰写过一篇博客,解释了如何将默认下载地址从 https 变更为 http,提到其中的原因是由于Gnome 和 SWT 的 BUG,这些小问题往往给人带来很不好的使用体验。事情过去一年多了,由于一些原因,又要安装 Linux 版的 Android SDK,发现去年的问题依旧存在,不幸的是,除此之外,又发现了一个新问题。

问题表现为,当采用 http 下载时,窗口提示:Failed to fetch URL http://dl-ssl.google.com/android/repository/repository.xml, reason: Network is unreachable。--确信这在去年是没有发生的,那么问题既然已经发生了,就别抱怨了,把精力集中在如何解决它,了解发生的原因。

[ Read More » ]

Linux x86 编译 Android 遭遇 gnu/stubs-64.h

Android

这两天心血来潮,执行完 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 » ]

解读《The Open Source Developer Report》

eclipse

每一年 Eclipse 都会在社区内部进行一项调查,来了解开发者的动态,前不久他们公布了2010年的调查报告,从中可以看到一些有趣的趋势。

先从大的方面来看,我觉得有三个亮点,首先是越来越多的开发者采用 Linux 做为自己的 OS,我想这和 Eclipse 社区成员大多是开源“粉丝”这一现状有关,Eclipse 本身是 Open Source,它的用户绝大部分不会是 .net 程序员,因此不是非要使用 Windows。以我为例,Java, PHP, Python, Ruby, C, MySQL 是我经常接触到的技术,个人环境使用 Linux 完全可以胜任,不过公司环境还是使用 Windows,–这不是我能够控制的。

[ Read More » ]