这是一件很吐血的事,折腾了半天的时间,最后发现版本不一致害死人。
Android SDK中有不少小工具,如果要自己改造一下,就需要重新编译。Android原生自然是Linux,但毕竟用户绝大部分是Windows的,所以还是要给Win下编一份。
根据platform/development/docs/howto_build_SDK.txt文档,主要步骤如下:
- 在Linux下编一份for linux的;
- 在Windows下装cygwin和一堆包;
- 把源码和SDK for Linux拷贝到Windows下;
- 用development/build/tools/make_windows_sdk.sh脚本编译Windows平台相关文件,并且自动替换掉SDK for Linux中的相应文件,于是一个SDK for Windows就诞生鸟……
可是……最新的源码里找不到这个脚本。倒是有一个patch_windows_sdk.sh,看起来和上面的很像,嗯。也懒得git log翻修订记录了,直接用——失败。
最后翻到同目录下的windows_sdk.mk,发现目前版本的真正编译方法了:
- 在Linux下编一份for linux的:make PRODUCT-sdk-sdk
- 安装mingw32
- 在Linux下编译for Windows的:make PRODUCT-sdk-win_sdk
大功告成……方便了很多,但是各种被老资料耽误的兄弟们,请尽情地吐血吧。
最后——狠揍自己:不论是来一次git log还是来一次vim windows_sdk.mk,都可以不用绕这么多弯的。