android make編譯 no rule to make "xxx",need "xxx"

編譯安卓源碼時遇到錯誤: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)   ===》添加預編譯



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章