我的环境是 ubuntu 10.10 JDK1.5我把文件放在了mydroid/external/JNITest执行envsetup.sh 然后进入到mydroid/external/JNITest执行MM第一个文件Android.mkLOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES:= \
com_JNITest_JNITest.c
LOCAL_C_INCLUDES := \
$(JNI_H_INCLUDE)
LOCAL_SHARED_LIBRARIES := libutils
LOCAL_PRELINK_MODULE := false
LOCAL_MODULE := JNITest
include $(BUILD_SHARED_LIBRARY) 第二个文件com_JNITest_JNITest.c
#include "com_JNITest_JNITest.h"
#define LOG_TAG "JNITest"
#undef LOG
#include <utils/Log.h>
JNIEXPORT jstring JNICALL Java_com_JNITest_JNITest_GetTest
(JNIEnv *, jobject)
{
return (*env)->NewStringUTF(env, (char *)
"JNITest Native String");
LOGD("Hello LIB!\n");
}
第三个文件com_JNITest_JNITest.h/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class com_JNITest_JNITest */#ifndef _Included_com_JNITest_JNITest
#define _Included_com_JNITest_JNITest
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: com_JNITest_JNITest
* Method: GetTest
* Signature: ()Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL Java_com_JNITest_JNITest_GetTest
(JNIEnv *, jobject);#ifdef __cplusplus
}
#endif
#endif
执行MM后报错
build/core/dynamic_binary.mk:129: warning: overriding commands for target `.so'
build/core/dynamic_binary.mk:106: warning: ignoring old commands for target `.so'
build/core/shared_library.mk:32: warning: overriding commands for target `.so'
build/core/dynamic_binary.mk:129: warning: ignoring old commands for target `.so'
No private recovery resources for TARGET_DEVICE generic
make: *** No rule to make target `/com_JNITest_JNITest.c', needed by `out/target/product/generic/obj/SHARED_LIBRARIES/JNITest_intermediates/com_JNITest_JNITest.o'. Stop.请大家帮帮忙,帮我看看
include $(CLEAR_VARS)
LOCAL_SRC_FILES:= \
com_JNITest_JNITest.c
LOCAL_C_INCLUDES := \
$(JNI_H_INCLUDE)
LOCAL_SHARED_LIBRARIES := libutils
LOCAL_PRELINK_MODULE := false
LOCAL_MODULE := JNITest
include $(BUILD_SHARED_LIBRARY) 第二个文件com_JNITest_JNITest.c
#include "com_JNITest_JNITest.h"
#define LOG_TAG "JNITest"
#undef LOG
#include <utils/Log.h>
JNIEXPORT jstring JNICALL Java_com_JNITest_JNITest_GetTest
(JNIEnv *, jobject)
{
return (*env)->NewStringUTF(env, (char *)
"JNITest Native String");
LOGD("Hello LIB!\n");
}
第三个文件com_JNITest_JNITest.h/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class com_JNITest_JNITest */#ifndef _Included_com_JNITest_JNITest
#define _Included_com_JNITest_JNITest
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: com_JNITest_JNITest
* Method: GetTest
* Signature: ()Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL Java_com_JNITest_JNITest_GetTest
(JNIEnv *, jobject);#ifdef __cplusplus
}
#endif
#endif
执行MM后报错
build/core/dynamic_binary.mk:129: warning: overriding commands for target `.so'
build/core/dynamic_binary.mk:106: warning: ignoring old commands for target `.so'
build/core/shared_library.mk:32: warning: overriding commands for target `.so'
build/core/dynamic_binary.mk:129: warning: ignoring old commands for target `.so'
No private recovery resources for TARGET_DEVICE generic
make: *** No rule to make target `/com_JNITest_JNITest.c', needed by `out/target/product/generic/obj/SHARED_LIBRARIES/JNITest_intermediates/com_JNITest_JNITest.o'. Stop.请大家帮帮忙,帮我看看
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货