构建Windows版的Android SDK

下面是构建Windows版Android SDK的步骤:

1. 在Ubuntu系统里对mydroid做如下Build
  $ cd mydroid
  $ make
  $ make sdk



2. 把Build好的mydroid目录拷贝到Windows系统中

3. 安装cygwin

- 下载地址:http://www.cygwin.com/

- 设置默认的文本文件类型为DOS/text

- 记住把下面的包都选上autoconf, gcc, g++, bison, python, zip, unzip, mingw-zlib, flex, make, vim

- 最好把emacs, wget, openssh, rsync也都选择安装上

- 不要安装readline

4. 在Build脚本中指定SDK版本号

   脚本文件位置在development/build/tools/make_windows_sdk.sh

   找到'SDK_NUMBER',将其值设置为1.5。如下所示:
    #SDK_NUMBER=`echo $filename | sed -n 's/^.*_\([^_./]\+\)_[^_.]*\..*$/\1/p'`
    SDK_NUMBER=1.5



5. 启动cygwin,执行如下步骤

  $ cd mydroid
  $ mkdir -p out/host/windows-x86/sdk
  $ development/build/tools/make_windows_sdk.sh out/host/linux-x86/sdk/android-sdk_eng.me_linux-x86.zip out/host/windows-x86/sdk

   现在到out/host/windows-x86/sdk目录里看一下吧,SDK的zip压缩包文件应该在那里了。

6. 解压SDK的zip压缩包

   在最新的capcake的SDK目录是,emulator.exe的位置在tools子目录下,几个系统image文件在platforms\android-1.5\images子目录里。



注:

1. 在写本文时,由于编译出的emulator.exe无法执行,所以这里使用了emulator单独发布的代码包(android-emulator- 1.0_r2.tar.bz2)。由于该版本的代码没有对新SDK的目录结构作相应更新。所以,在启动emulator.exe程序时,需要用'- system'参数指定image文件存放的路径,并用'-skindir'参数指定skins目录的路径。当然,也可以自己在 'android_main.c'中修改源代码,以便能直接用不带参数的emulator来启动模拟器。具体如下:

   添加images搜索路径
const char *sysdir_paths[] = {
      "%s/lib/images/%s",    /* emulator in , images in /lib/images */
      "%s/%s",                /* emulator and images in the same directory */
      "%s/../%s",
      "%s/http://www.cnblogs.com/%s",          /* emulator in /host/bin, images in */
      "%s/../platforms/android-1.5/images/%s", /* 这里是新加的内容,新的SDK1.5中,images存放在/platforms/android-1.5/images里 */
      0
};



   修改skins路径
if (!opts->skindir)
        optional_file(&opts->skindir, "skindir", opts->system, "../skins");



2. 修改用户数据的image文件存放的子目录名

    源代码中的值目前还是'SDK-1.0',为了和Build出的SDK保持统一,可以修改android.h中的代码:
#define ANDROID_SDK_VERSION "SDK-1.5"



3. 最好把cygwin安装在C盘根目录下(C:\),否则需要对Build脚本(make_windows_sdk.sh)作相应修改。

    笔者的cygwin安装在D:\cygwin,所以修改后的内容如下所示:
# We currently need libz from MinGW for aapt
cp -v /cygdrive/d/cygwin/bin/mgwz.dll "$TOOLS"

你可能感兴趣的:(Android)