MSI SDR设备示例代码未编译

问题描述 投票:0回答:1

我正在尝试使用Android应用程序与MSI SDR dongle进行交互

此设备是SDRPlay SDR设备的克隆,并与其软件和驱动程序兼容

[我正在尝试使用OTG电缆和android手机与此接口

可以从这里https://www.sdrplay.com/downloads/下载为此的Android驱动程序>

位于API / HW – V2.11(2017年11月15日)链接(https://www.sdrplay.com/anddl.php)下的Android选项卡中

此驱动程序的可能的示例代码可以在这里找到:https://www.sdrplay.com/docs/AndroidIntegrationNote.pdf

在制作完整的android程序之前,它说应该使用ndk-build将库(libmir_sdr_api.a)内置到.so库文件中。>

我目前在这里有Android的hello-jni示例项目:https://github.com/android/ndk-samples/tree/android-mk/hello-jni

我已使用AndroidIntegrationNote.pdf第3节中提到的Android.mk文件,libmir_sdr_api.a,mir_sdr.h,initialization-jni.cpp,demod-jni.cpp和demod-jni.h文件替换了jni文件夹。我上面链接的文件

当我从hello-jni项目文件夹执行ndk-build时,出现以下错误:

Android NDK: Found platform level in ./default.properties. Setting APP_PLATFORM to android-25.
Android NDK: android-25 is an alias for android-24. Adjusting APP_PLATFORM to match.
[arm64-v8a] Gdbserver      : [aarch64-linux-android] libs/arm64-v8a/gdbserver
[arm64-v8a] Gdbsetup       : libs/arm64-v8a/gdb.setup
[x86_64] Gdbserver      : [x86_64-linux-android] libs/x86_64/gdbserver
[x86_64] Gdbsetup       : libs/x86_64/gdb.setup
[armeabi-v7a] Gdbserver      : [arm-linux-androideabi] libs/armeabi-v7a/gdbserver
[armeabi-v7a] Gdbsetup       : libs/armeabi-v7a/gdb.setup
[x86] Gdbserver      : [i686-linux-android] libs/x86/gdbserver
[x86] Gdbsetup       : libs/x86/gdb.setup
make: *** No rule to make target 'jni/initialisation-jni.cpp', needed by 'obj/local/arm64-v8a/objs-debug/mirics-jni/initialisation-jni.o'.  Stop.  

我习惯于使用Android Studio和cmake编译NDK代码,所以我不确定这里发生了什么。我也无法通过cmake链接.a文件,因此我想尝试一下驱动程序制造商的示例代码,但它也不起作用。 pdf档案中的Android.mk档案先前连结是否不完整,还是无法正确建立?这些是Android.mk文件的内容:

# $(call my-dir) returns the local directory which is the jni directory  
LOCAL_PATH := $(call my-dir)  
# libmir_sdr_api.a – this section creates a version of the Mirics API to be used below  
include $(CLEAR_VARS)  
LOCAL_MODULE := mir_sdr_api-prebuilt  
LOCAL_SRC_FILES := libmir_sdr_api.a  
LOCAL_EXPORT_C_INCLUDES := $(call my-dir)  
include $(PREBUILT_STATIC_LIBRARY)  
include $(CLEAR_VARS)  
# mirics-jni – this section uses the jni C++ source code to build the dynamic library  
LOCAL_MODULE := mirics-jni  
LOCAL_SRC_FILES := initialisation-jni.cpp demod-jni.cpp  
LOCAL_C_INCLUDES := $(call my-dir)  
LOCAL_LDLIBS := -L$(SYSROOT)/usr/lib  
LOCAL_STATIC_LIBRARIES := mir_sdr_api-prebuilt  
include $(BUILD_SHARED_LIBRARY)  

[我正在尝试使用android app与MSI SDR加密狗进行接口连接,该设备是SDRPlay SDR设备的克隆,并且与我要接口的软件和驱动程序兼容...

android android-ndk java-native-interface
1个回答
0
投票

关于缺少jni/initialisation-jni.cpp,您可能拥有文件jni/initiali z

ation-jni.cpp
© www.soinside.com 2019 - 2024. All rights reserved.