80,353
社区成员
发帖
与我相关
我的任务
分享
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := EmvHandler
LOCAL_SRC_FILES := EmvHandler.c
include $(BUILD_SHARED_LIBRARY)
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := EmvHandler
LOCAL_SRC_FILES := EmvHandler.c\
EmvLib_Api.h
include $(BUILD_SHARED_LIBRARY)
但是这样编译提示typedef struct {
unsigned char RID[5];
unsigned char KeyID;
unsigned long HashInd;
}EMV_TEST;
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := EmvHandler
LOCAL_SRC_FILES := EmvHandler.c
LOCAL_C_INCLUDES := EmvLib_Api.h \
$(LOCAL_PATH)/include/ #这个LOCAL_PATH表示当前Android.mk所在的当前目录,这句话说将当前目录include下的所有.h文件包含进来
LOCAL_SHARED_LIBRARIES := liblog libcutils libthird #libthird 是你要链接的第三方库,暂时取名为 libthird。
LOCAL_LDLIBS +=-L$(LOCAL_PATH) -lm -llog
include $(BUILD_SHARED_LIBRARY)
include $(call all-makefiles-under,$(LOCAL_PATH))
1、你第三方库的Android.mk,这个你可以拿出来使用ndk单独编译,将Android.mk置于代码的顶层目录:
#编译第三方库,这个会生成libthird.so文件,供你的jni链接
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := libthird
LOCAL_SRC_FILES := xx.c \
xxx.c \
$(LOCAL_PATH)/src/ #src下面的所有源文件
LOCAL_C_INCLUDES := xx.h \
xxx.h \
$(LOCAL_PATH)/include/ #这个LOCAL_PATH表示当前Android.mk所在的当前目录,这句话说将当前目录include下的所有.h文件包含进来
LOCAL_SHARED_LIBRARIES := liblog libcutils
LOCAL_LDLIBS +=-L$(LOCAL_PATH) -lm -llog
include $(BUILD_SHARED_LIBRARY)
include $(call all-makefiles-under,$(LOCAL_PATH))
3。如果你想将一个int或long转成 jstring:
char buffer[20];
sprintf(buffer,"%d",value);
jstring string = (*env)->NewStringUTF(env, buffer);
如果有帮助,把分数给我把,我的分数都空了。
有疑问可以互相讨论:qq :378983706