编译安卓源码时遇到错误: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) ===》添加预编译