1.
<wbr><wbr><wbr><wbr><wbr> 编译 CTS<br><wbr><wbr><wbr><wbr> 编译 CTS 很简单,只需要如下 3 步。(黑色字体表示命令,灰色背景表示输入<br> 命令后的输出信息)<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> (进入 android 源代码路径)<br> localhost ~ # cd /work/android_src<br> localhost android_src # source build/envsetup.sh (进行一些初始化工作)<br> including device/htc/dream/vendorsetup.sh<br> including device/htc/passion/vendorsetup.sh<br> including device/htc/sapphire/vendorsetup.sh<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> (编译 CTS)<br> localhost android_src # make cts<br> ============================================<br> PLATFORM_VERSION_CODENAME=REL<br> PLATFORM_VERSION=2.2<br> TARGET_PRODUCT=generic<br> TARGET_BUILD_VARIANT=eng<br> TARGET_SIMULATOR=<br> TARGET_BUILD_TYPE=release<br> TARGET_BUILD_APPS=<br> TARGET_ARCH=arm<br> HOST_ARCH=x86<br> HOST_OS=linux<br> HOST_BUILD_TYPE=release<br> BUILD_ID=FRF85B<br> ============================================<br> .......................................(略)<br> 编译过程可能并不是一帆风顺,一般需要遇到 2 个问题。<br> 1)没有设置 android 的 java 环境变量<br> 没有设置 Java 的环境变量,编译时会出现以下错误:<br> make: *** No rule to make target `run-java-tool', needed by `out/target/common/docs/api-<br> stubs-timestamp'. Stop.<br> 解决方法:<br> 使用如下命令,设置环境变量。<br> localhost android_src # export ANDROID_JAVA_HOME=$JAVA_HOME<br> 2)修改编译发现的文件冲突<br> 在编译中会多次出现文件编译冲突现象,这里列举一例:<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> 1<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> ArcherMind Technology (Nanjing) Co., Ltd.<br> java.util.zip.ZipException: duplicate entry: hyts_Foo.c<br><wbr><wbr><wbr><wbr><wbr> at java.util.zip.ZipOutputStream.putNextEntry(ZipOutputStream.java:175)<br><wbr><wbr><wbr><wbr><wbr> at java.util.jar.JarOutputStream.putNextEntry(JarOutputStream.java:92)<br><wbr><wbr><wbr><wbr><wbr> at sun.tools.jar.Main.addFile(Main.java:713)<br><wbr><wbr><wbr><wbr><wbr> at sun.tools.jar.Main.update(Main.java:567)<br><wbr><wbr><wbr><wbr><wbr> at sun.tools.jar.Main.run(Main.java:202)<br><wbr><wbr><wbr><wbr><wbr> at sun.tools.jar.Main.main(Main.java:1149)<br> make: *** [out/target/common/obj/JAVA_LIBRARIES/core-tests_intermediates/javalib.jar]<br> Error 1<br> make: *** Deleting file `out/target/common/obj/JAVA_LIBRARIES/core-<br> tests_intermediates/javalib.jar'<br><wbr>解决办法:<br><wbr><wbr><wbr><wbr><wbr><wbr> 出现这个问题是由于源代码中存在多个叫做 hyts_Foo.c 的源文件,只需要把重<br> 名的文件删除掉或改名即可。重复文件一般位于 dalvik 目录内。(千万不要把所有叫<br> 做 hyts_Foo.c 的文件都删除,那样你就糗大了。一定要留下来一个,建议改名,不要<br> 删除文件。)<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>