gpt4 book ai didi

android - eclipse无法解析android native 代码

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:05:06 28 4
gpt4 key购买 nike

我正在尝试整合 Android SerialPort API进入我的项目,但我在这样做时遇到了一些问题。

  • Eclipse 没有解析所有 JNI 和 native 相关的方法和字段。这是 AndroidSerialPort API 的 SerialPort.c 文件的开头。 :

    #include <termios.h>
    #include <unistd.h>
    #include <sys/types.h>
    #include <sys/stat.h>
    #include <fcntl.h>
    #include <string.h>
    #include <jni.h>

    #include "SerialPort.h"

    #include "android/log.h"
    static const char *TAG="serial_port";
    #define LOGI(fmt, args...) __android_log_print(ANDROID_LOG_INFO, TAG, fmt, ##args)
    #define LOGD(fmt, args...) __android_log_print(ANDROID_LOG_DEBUG, TAG, fmt, ##args)
    #define LOGE(fmt, args...) __android_log_print(ANDROID_LOG_ERROR, TAG, fmt, ##args)

    第一个定义语句有效,但在另外两个中,eclipse 是用 Symbol XXX 标记 ANDROID_LOG_DEBUGANDROID_LOG_ERROR无法解析,以及每次调用JNIEnv 的方法
    *env
    串口方法里面。

    但是 JNIEXPORT 或 JNICALL 语句没有错误。

  • 当我试图解决这个问题时出现了问题一。我下载了库的所有文件并将它们复制到网站上给出的目录中。但是 JNI 部分似乎出了点问题,我无法调用 open() 来获取我的串行设备。

     11-19 14:18:22.232: D/dalvikvm(17898): Trying to load lib /data/data/master.androidsirfparser/lib/libserial_port.so 0x416a8570
    11-19 14:18:22.232: D/dalvikvm(17898): Added shared lib /data/data/master.androidsirfparser/lib/libserial_port.so 0x416a8570
    11-19 14:18:22.232: D/dalvikvm(17898): No JNI_OnLoad found in /data/data/master.androidsirfparser/lib/libserial_port.so 0x416a8570, skipping init
    11-19 14:18:22.232: W/dalvikvm(17898): No implementation found for native Lmaster/serial/SerialPort;.open (Ljava/lang/String;II)Ljava/io/FileDescriptor;
    11-19 14:18:22.240: W/dalvikvm(17898): threadid=11: thread exiting with uncaught exception (group=0x40a471f8)
    11-19 14:18:22.240: E/AndroidRuntime(17898): FATAL EXCEPTION: Thread-651
    11-19 14:18:22.240: E/AndroidRuntime(17898): java.lang.UnsatisfiedLinkError: open
    11-19 14:18:22.240: E/AndroidRuntime(17898): at master.serial.SerialPort.open(Native Method)
    11-19 14:18:22.240: E/AndroidRuntime(17898): at master.serial.SerialPort.<init>(SerialPort.java:61)
    11-19 14:18:22.240: E/AndroidRuntime(17898): at master.androidsirfparser.ReadThread.init(ReadThread.java:38)
    11-19 14:18:22.240: E/AndroidRuntime(17898): at master.androidsirfparser.ReadThread.run(ReadThread.java:48)

    我总是收到“未找到实现”消息。

我必须先解决问题一,才能解决问题二,因为 Eclipse 不允许我在不解决代码中的编译错误的情况下启动我的项目。

最佳答案

我重新安装了我的 java 平台,eclipse IDE,添加了 android eclipse 插件,现在它可以工作了。我不知道为什么。

关于android - eclipse无法解析android native 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13455974/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com