inbuilt android app에 외부 제 3 자 jar 파일을 추가하고 싶습니다.Android.mk에 외부 jar 참조 추가하기
Android.mk에 LOCAL_CLASSPATH 변수를 추가 했으므로 컴파일이 잘 진행됩니다. 그러나 런타임 중에는 JAR에있는 클래스 정의를 찾을 수 없습니다.
.dex/.apk에 타사 JAR을 추가하기 위해 설정해야하는 변수는 무엇입니까?
TIA.
inbuilt android app에 외부 제 3 자 jar 파일을 추가하고 싶습니다.Android.mk에 외부 jar 참조 추가하기
Android.mk에 LOCAL_CLASSPATH 변수를 추가 했으므로 컴파일이 잘 진행됩니다. 그러나 런타임 중에는 JAR에있는 클래스 정의를 찾을 수 없습니다.
.dex/.apk에 타사 JAR을 추가하기 위해 설정해야하는 변수는 무엇입니까?
TIA.
내가 문제를 해결하는 데 사용되는 것입니다.
Eclipse에서 수정 빌드 경로를 선택하고 외부 jar 추가를 선택하고 포함시킬 jar를 선택하십시오. 또한 컴파일 LOCAL_STATIC_JAVA_LIBRARIES
에 라이브러리 이름을 지정해야
LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := path_to_jar_file.jar
include $(BUILD_MULTI_PREBUILT)
이 Android.mk
에 추가해야
include $(BUILD_PACKAGE)
후 : 여기
LOCAL_STATIC_JAVA_LIBRARIES
&플래그로 추가하십시오.
과 LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES
사이를 포함하면, $(BUILD_PACKAGE)
&을 포함한다. $(BUILD_MULTI_PREBUILT)
을 포함한다.
괜찮습니다. a2ronus URL을 제공해 주셔서 감사합니다.
예를 들어 이야기하는 것 이상입니다.
...
LOCAL_STATIC_JAVA_LIBRARIES := libmylibs
LOCAL_PACKAGE_NAME := myapp
...
include $(BUILD_PACKAGE)
##################################################
include $(CLEAR_VARS)
LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := libmylibs:mylib.jar
include $(BUILD_MULTI_PREBUILT)
참고 : 프로젝트 루트에 "mylib.jar"를 넣으십시오.
단지 몇 개의 노트를 추가하고 싶습니다. "libmylibs"는 기본적으로 상징적 인 이름입니다. 두 선언에서 같은 이름을 사용하는 한 "foo"를 쉽게 사용할 수 있습니다. 또한 원하는 경우 jar 파일의 전체 경로를 사용할 수 있습니다 (예 : "libs/mylib.jar". 이것은 전형적인 일식 작업 환경과 호환되기 때문에 편리합니다. –
LOCAL_PACKAGE_NAME이 무엇인지 설명해 주시겠습니까? 여기에서 사용해야하는 것은 jar 파일에 org.jivesoftwar.smack 및 org.jivesoftwar.smacks와 같은 패키지가 있습니다. 그렇다면 org.jivesoftwar를 LOCAL_PACKAGE_NAME으로 사용해야합니까? – anargund
이 답변은 실제로 설명이 부족하지만 허용 된 답변보다 낫다고 생각합니다. – cwhsu
LOCAL_STATIC_JAVA_LIBRARIES := \
other libs \
your_jar
include $(CLEAR_VARS)
LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := your_jar:jar_path/jar_file.jar
include $(BUILD_MULTI_PREBUILT)
사실, Android.mk에서이 작업을 수행하려고합니다. – Karan
안드로이드 프로젝트에 lib 디렉토리를 만들고 jar 파일을 추가하십시오. –