从源构建 dictool_aosp.jar

Building dictool_aosp.jar from source

我无法构建 dictool_aosp.jar。我从存储库下载了 aosp 源,然后 运行 以下命令:

source build/envsetup.sh
lunch aosp_flo-userdebug
make -j3
make dictool_aosp

但是,我收到以下错误:

including ./system/vold/Android.mk ...
including ./tools/external/fat32lib/Android.mk ...

make: *** No rule to make target `dictool_aosp'.  Stop.

#### make failed to build some targets (01:02 (mm:ss)) ####

能否指导我如何构建 jar 文件?

我也尝试使用 mmmma 从目录构建并得到以下结果:

$ cd packages/inputmethods/LatinIME/tools/dicttool/
$ mma
...
including ./tools/external/fat32lib/Android.mk ...
No private recovery resources for TARGET_DEVICE flo
make: Entering directory `/android-repo'
make: Nothing to be done for `all_modules'.
make: Leaving directory `/android-repo'

#### make completed successfully (24 seconds) ####

$ mm
...
No private recovery resources for TARGET_DEVICE flo
make: Entering directory `/android-repo'
make: *** No rule to make target `/temp/out/dist/android-repo/host/linux-x86/framework/junit.jar', needed by `/temp/out/dist/android-repo/host/common/obj/JAVA_LIBRARIES/dicttool_aosp_intermediates/javalib.jar'.  Stop.
make: Leaving directory `/android-repo'

虽然mma成功了,但在输出目录中没有jar文件。

我假设您在 运行 make dictool_aosp:

时收到此错误
make: *** No rule to make target `dictool_aosp'.  Stop.

意味着没有 make target named dictool_aosp.

您可以尝试通过检查该包的 Android.mk 来构建 dictool_aosp。查看是否有 LOCAL_MODULE 定义。如果有的话,您可以使用这个来拨打电话。如果没有,您可以在要构建的项目目录顶部添加或简单地添加 运行 mm

一些有用的提示:

  • 您可以看到所有 make 目标:make modules
  • 您可以使用 mm 构建子项目(构建当前目录中的所有模块)或使用 mma(构建当前目录中的所有模块 依赖)