編譯安卓源碼時遇到錯誤:no rule to make out/target/common/obj/JAVA_LIBRARIES/services_intermediates/class_debug.jar,
need out/target/common/obj/JAVA_LIBRARIES/libName_intermediates/libjava.jar
遇到類似錯誤可能是由mk文件出現錯誤。應首先check 相應need "xxx" 是否生成,然後需要check mk是否存在問題。
此問題方法:
修改前:
include $(CLEAR_VARS)
LOCAL_STATIC_JAVA_LIBRARIES := libName \
libName2
LOCAL_SRC_FILES := \
$(call all-subdir-java-files) \
com/android/server/EventLogTags.logtags \
com/android/server/am/EventLogTags.logtags
LOCAL_MODULE:= services
LOCAL_JAVA_LIBRARIES := android.policy telephony-common bouncycastle
LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := libName:jdk.jar \====>預編譯jar實際未編譯
libName2:rsa.jar
include $(BUILD_JAVA_LIBRARY)
include $(BUILD_DROIDDOC)
修改後:
include $(CLEAR_VARS)
LOCAL_STATIC_JAVA_LIBRARIES := libName \
libName2
LOCAL_SRC_FILES := \
$(call all-subdir-java-files) \
com/android/server/EventLogTags.logtags \
com/android/server/am/EventLogTags.logtags
LOCAL_MODULE:= services
LOCAL_JAVA_LIBRARIES := android.policy telephony-common bouncycastle
include $(BUILD_JAVA_LIBRARY)
include $(BUILD_DROIDDOC)
LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := libName:jdk.jar \
libName2:rsa.jar
include $(BUILD_MULTI_PREBUILT) ===》添加預編譯