档案

Archive for the ‘Android’ Category

向Android SDK中添加自定义的库 (Addon)

12月 4, 2012 留下评论

一般情况下, Android中的第三方应用程序SDK都由开发者直接打包发布,在使用SDK的时候,将所需要的文件(jar、native共享库)加入到项目中 ,这是最通用的方式。不过对于每个应用程序而言,都需要引入包含独立的SDK的库文件,这使得应用程序的大小难以控制,尽管如此,这是对于不能修改Android ROM的前提下发布SDK的唯一可行方式。

如果可以自定义Andoid ROM或者独立控制ROM的发布(通常对于Android手机厂商而言),则可以将这些SDK库放到Android ROM的system下面,使得应用程序可以共享SDK库。在Android的源代码(AOSP)中,包含了PlatformLibrary这样一个例子
($ANDROID_SRC/device/sample/frameworks/)。

1. 编译PlatformLibrary并将其集成进Android ROM

在编译完成Android的Source Code之后, 删除生成的system.img,然后编译PlatformLibrary并将之集成进新的system.img中。
阅读更多…

分类:Android

Mac OS X中编译Android(AOSP)

12月 3, 2012 留下评论

在Mac OS X中编译Android(AOSP),基本步骤在AOSP的帮助文档中都有说明:
http://source.android.com/source/initializing.html
http://source.android.com/source/building.html

有一些细节问题需要注意:

  1. 新版本的XCode去除了SDK 10.6,需要设置额外的环境变量:
  2. $export UILD_MAC_SDK_EXPERIMENTAL=1
    $lunch full-eng
    
  3. 如果安装了MacPorts中的Bison,则需要注意在编译过程中避免使用它
    • 1, MacPorts中的Bison版本过新,会导致在编译WebKit的时候出现变异错误
    • external/webkit/Source/WebCore/xml/XPathParser.cpp:480:39: error: too many arguments to function 'int WebCore::XPath::xpathyyparse()'
      
    • 使用XCode自带的Bison而非MacPorts中的
    • $bison --version
      bison (GNU Bison) 2.3
      
    • 在WebKit中打上新的Patch用来解决这个编译问题:http://trac.webkit.org/changeset/124099
分类:Android