2017-07-24 193 views
0

我無法構建dictool_aosp.jar。我從網上下載庫中的AOSP源,然後運行以下命令:從源代碼構建dictool_aosp.jar

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文件輸出目錄。

回答

0

我認爲,當你運行make dictool_aosp您收到此錯誤:

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

意味着有命名dictool_aosp沒有 make目標。

您可以嘗試通過檢查該包的Android.mk來構建dictool_aosp。看看是否有LOCAL_MODULE的定義。如果有人可以使用這個人打電話。如果沒有,您可以添加它,或者只需在您要構建的項目目錄上運行mm

一些有用的提示:

  • 你可以看到所有使目標有:make modules
  • 就可以構建mm一個子項目(構建所有在當前目錄中的模塊),或使用mma(構建所有在當前目錄中的模塊依賴)的
+0

顯然,'dictool_aosp'不會出現在'讓modules'即使'安德烈結果oid.mk文件有'LOCAL_MODULE:= dictool_aosp'。無論如何,我在'dictool'目錄下運行'mma'和'mm',並且無法生成'jar'文件。我用結果更新了我的問題。謝謝。 –

+0

@MatiBekuma「mm」的錯誤信息表示您缺少junit。你的AOSP包括它嗎?你有沒有錯誤地在「mm」之前運行「make」? – IIIIIIIIIIIIIIIIIIIIII

+0

對不起我的錯字,它應該是'make dicttool_aosp'(帶雙tt)。我從源碼(分支'android-5.0.0_r1.0.1')運行這個命令沒有問題。 –