添加从库jar文件/到的Android.mk(Adding a jar file from libs

2019-08-03 22:43发布

几乎找到了答案中添加在Android.mk一个外部JAR引用 ,但我还是不能令人信服。

我的项目包含在库/目录下的commons-IO-2.4.jar和jsch-0.1.49.jar。 一切都在日食精美的构建。 现在我想写一个Android.mk文件自动生成我的项目。

我Android.mk看起来是这样,但它不工作。

LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)

LOCAL_SRC_FILES := $(call all-java-files-under, src)

LOCAL_PACKAGE_NAME := MyProject
LOCAL_CERTIFICATE := platform

LOCAL_STATIC_JAVA_LIBRARIES := jsch-0.1.49 commons-io-2.4

LOCAL_PROGUARD_FLAGS      := -include $(LOCAL_PATH)/proguard.flags

include $(BUILD_PACKAGE)

LOCAL_STATIC_JAVA_LIBRARIES := libs
LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := libs:jsch-0.1.49 libs:commons-io-2.4

include $(BUILD_MULTI_PREBUILT)

我敢肯定有一点点秘决我已经得到了错,但我无法弄清楚。

是否有Android.mk文件的一个很好的参考? 所有我能找到人的食谱与NDK工作。

Answer 1:

OK,谷歌搜索和试验的几个小时似乎已经找到了解决办法。
这里记录以供其他人发现:

关键是要

  1. 定义LOCAL_STATIC_JAVA_LIBRARIES与我想包括,例如库的符号名称libjsch
  2. 执行CLEAR_VARS (为什么?)
  3. 限定LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES作为libjsch:<path-to-jar-file>
  4. 包括BUILD_MULTI_PREBUILT

(测试表明,任何符号名称(如“富”)工作正常,只要在这两个声明的一致性。)

LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)

LOCAL_SRC_FILES := $(call all-java-files-under, src)

LOCAL_PACKAGE_NAME := MyProject

LOCAL_STATIC_JAVA_LIBRARIES := libjsch

include $(BUILD_PACKAGE)

include $(CLEAR_VARS)

LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := libjsch:libs/jsch-0.1.49.jar

include $(BUILD_MULTI_PREBUILT)


Answer 2:

由于一吨爱德华·福尔克。 我刚刚解决了我的问题的答案ü给了我再次感谢这里是我的代码。 关键字“LIB”是一个恶梦。

LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)

LOCAL_MODULE_TAGS := optional

LOCAL_SRC_FILES := $(call all-subdir-java-files)

LOCAL_PACKAGE_NAME := MDM

LOCAL_STATIC_JAVA_LIBRARIES := libandroid-async-http libgcm libjson-simple


LOCAL_JAVA_LIBRARIES += telephony-common mms-common

LOCAL_CERTIFICATE := platform

include $(BUILD_PACKAGE)

include $(CLEAR_VARS)

LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := libandroid-async-http:libs/android-async-http-1.4.4.jar libgcm:libs/gcm.jar  libjson-simple:libs/json-simple-1.1.1.jar 

include $(BUILD_MULTI_PREBUILT)


文章来源: Adding a jar file from libs/ to Android.mk