Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 生成ndk库时出错_Java_Android_C_Android Ndk_Java Native Interface - Fatal编程技术网

Java 生成ndk库时出错

Java 生成ndk库时出错,java,android,c,android-ndk,java-native-interface,Java,Android,C,Android Ndk,Java Native Interface,我正试图从jni文件夹中的netguard本机库创建一个.so文件,但在执行“ndk build”后,出现了以下错误“collect2 ld返回1退出状态”。请我想有人帮助创建一个.so文件 项目路径: 我的Android.mk LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) APP_PROJECT_PATH := /home/mishael/AndroidStudioProjects/NetGuard/app/src/main/jni/

我正试图从jni文件夹中的netguard本机库创建一个.so文件,但在执行“ndk build”后,出现了以下错误“collect2 ld返回1退出状态”。请我想有人帮助创建一个.so文件

项目路径:

我的Android.mk

LOCAL_PATH := $(call my-dir) 
include $(CLEAR_VARS) 
APP_PROJECT_PATH := /home/mishael/AndroidStudioProjects/NetGuard/app/src/main/jni/netguard/      
APP_PLATFORM=android-14 
APP_ABI := armeabi armeabi-v7a x86 mips 
LOCAL_MODULE := netguard
LOCAL_SRC_FILES := netguard.c 
LOCAL_LDLIBS := -llog 
include $(BUILD_SHARED_LIBRARY)
错误消息

ndk-build NDK_APPLICATION_MK=Application.mk [armeabi] Compile thumb :    
netguard <= netguard.c In file included from ./netguard.c:20:0:   
./netguard.h:203:1: warning: useless storage class specifier in empty 
declaration [enabled by default] } __packed; ^ ./netguard.h:210:1: 
warning: useless storage class specifier in empty declaration [enabled by 
default] } __packed; ^ ./netguard.h:262:1: warning: useless storage class 
specifier in empty declaration [enabled by default] } __packed; ^ 
./netguard.h:284:1: warning: useless storage class specifier in empty 
declaration [enabled by default] } __packed; ^ ./netguard.h:289:1:   
warning: useless storage class specifier in empty declaration [enabled by 
default] } __packed; ^ ./netguard.c: In function 
'Java_eu_faircode_netguard_SinkholeService_jni_get_stats': 
./netguard.c:216:5: warning: passing argument 4 of 
'(*env)->ReleaseIntArrayElements' makes integer from pointer without a 
cast [enabled by default] (*env)->ReleaseIntArrayElements(env, jarray,    
jcount, NULL); ^ ./netguard.c:216:5: note: expected 'jint' but argument   
is of type 'void *' [armeabi] SharedLibrary : libnetguard.so    
./netguard.c:84: error: undefined reference to 'log_android' 
./netguard.c:88: error: undefined reference to 'log_android' 
./netguard.c:104: error: undefined reference to 'init_icmp' 
./netguard.c:105: error: undefined reference to 'init_udp' 
./netguard.c:106: error: undefined reference to 'init_tcp' 
./netguard.c:111: error: undefined reference to 'log_android' 
./netguard.c:112: error: undefined reference to 'pcap_file' 
./netguard.c:120: error: undefined reference to 'log_android' 
./netguard.c:151: error: undefined reference to 'max_tun_msg' 
./netguard.c:151: error: undefined reference to 'handle_events' 
./netguard.c:172: error: undefined reference to 'clear_icmp' 
./netguard.c:173: error: undefined reference to 'clear_udp' 
./netguard.c:174: error: undefined reference to 'clear_tcp' 
./netguard.c:194: error: undefined reference to 'get_icmp_sessions' 
./netguard.c:195: error: undefined reference to 'get_udp_sessions' 
./netguard.c:196: error: undefined reference to 'get_tcp_sessions' 
./netguard.c:265: error: undefined reference to 'write_pcap_hdr' 
./netguard.c:276: error: undefined reference to 'pcap_record_size' 
./netguard.c:276: error: undefined reference to 'pcap_file_size'   
./netguard.c:276: error: undefined reference to 'pcap_file' 
./netguard.c:283: error: undefined reference to 'clear_icmp' 
./netguard.c:284: error: undefined reference to 'clear_udp' 
./netguard.c:285: error: undefined reference to 'clear_tcp' collect2: 
error: ld returned 1 exit status make: *** [/home/mishael
/AndroidStudioProjects/NetGuard/app/src/main/obj/local/armeabi
/libnetguard.so] Error 1
ndk build ndk_APPLICATION_MK=APPLICATION.MK[armeabi]编译拇指:
netguard ReleaseIntArrayElements(环境、jarray、,
jcount,NULL);^/netguard.c:216:5:注意:应为'jint'但为参数
类型为“void*”[armeabi]共享库:libnetguard.so
./netguard.c:84:错误:未定义对“log\u android”的引用
./netguard.c:88:错误:未定义对“log\u android”的引用
./netguard.c:104:错误:未定义对“init_icmp”的引用
./netguard.c:105:错误:未定义对“init_udp”的引用
./netguard.c:106:错误:未定义对“init_tcp”的引用
./netguard.c:111:错误:未定义对“log\u android”的引用
./netguard.c:112:错误:未定义对“pcap\u文件”的引用
./netguard.c:120:错误:未定义对“log\u android”的引用
./netguard.c:151:错误:未定义对“max\u tun\u msg”的引用
./netguard.c:151:错误:未定义对“处理事件”的引用
./netguard.c:172:错误:未定义对“clear\u icmp”的引用
./netguard.c:173:错误:未定义对“clear_udp”的引用
./netguard.c:174:错误:未定义对“clear\u tcp”的引用
./netguard.c:194:错误:未定义对“get_icmp_会话”的引用
./netguard.c:195:错误:未定义对“get_udp_会话”的引用
./netguard.c:196:错误:未定义对“get\u tcp\u会话”的引用
./netguard.c:265:错误:未定义对“write\u pcap\u hdr”的引用
./netguard.c:276:错误:未定义对“pcap\u记录\u大小”的引用
./netguard.c:276:错误:未定义对“pcap\u文件大小”的引用
./netguard.c:276:错误:未定义对“pcap\u文件”的引用
./netguard.c:283:错误:未定义对“clear\u icmp”的引用
./netguard.c:284:错误:未定义对“clear_udp”的引用
./netguard.c:285:错误:未定义对“clear\u tcp”集合的引用2:
错误:ld返回了1个退出状态make:**[/home/mishael
/AndroidStudio项目/NetGuard/app/src/main/obj/local/armeabi
/libnetguard.so]错误1

构建NetGuard本机代码集成在NetGuard Android Studio项目中,所以我想你让这变得更难了。

你忘了在某些库中链接尝试将此
LOCAL\u LDLIBS:=-llog
更改为
LOCAL\u LDLIBS+=-llog
@LPs我仍然得到了收集2:error:ld返回了1个退出状态make:**[/home/mishael/AndroidStudioProjects/NetGuard/app/src/main/obj/local/armeabi/libnetguard.so]错误1