java.lang.UnsatisfiedLinkError:未找到 byte[] dji.midware.natives.SDKRelativeJNI.native_getXXXX 的实现

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

SDK版本

com.dji:dji-sdk-provided:4.9
com.dji:dji-uxsdk:4.9
com.dji:dji-sdk:4.9

Android Studio版本: 3.5.0

Gradle 版本: 5.4.1

Android 设备版本: 5.1.1(华为平板)

环境: muti moudle 和 dji-sdk 未在主模块中导入

问题描述: 我的应用程序中首先有 init sdk,当我运行项目时,程序在 init 时崩溃,然后我在 logcat 中遇到了这个问题。 你能帮助我吗? 非常感谢! 我也尝试过 Dji-SDK 4.10 但仍然无法工作

梯度:

api ('com.dji:dji-sdk:4.9'){
  exclude group: 'com.vividsolutions'
}
  api('com.dji:dji-uxsdk:4.9') {
  exclude group: 'com.vividsolutions'
}
compileOnly 'com.dji:dji-sdk-provided:4.9'

我的申请

@Override
protected void attachBaseContext(Context context) {
    super.attachBaseContext(context);
    com.secneo.sdk.Helper.install(this);
}

发现错误

"java.lang.UnsatisfiedLinkError: No implementation found for byte[] dji.midware.natives.SDKRelativeJNI.native_getXXXX(java.lang.String) (tried Java_dji_midware_natives_SDKRelativeJNI_native_1getXXXX and Java_dji_midware_natives_SDKRelativeJNI_native_1getXXXX__Ljava_lang_String_2)
at dji.midware.natives.SDKRelativeJNI.native_getXXXX(Native Method)"
java dji-sdk
2个回答
2
投票

三天后问题就解决了

1.打开你的项目“local.properties”文件,你可以看到

## This file must *NOT* be checked into Version Control Systems,
# as it contains information specific to your local configuration.
#
# Location of the SDK. This is only used by Gradle.
# For customization when using a Version Control System, please read the
# header note.
#Thu Aug 29 17:07:04 CST 2019
sdk.dir=C\:\\Users\\admin\\AppData\\Local\\Android\\Sdk

现在您只需在 SDK 路径的前一行添加一行即可

ndk.dir=

结果

## This file must *NOT* be checked into Version Control Systems,
# as it contains information specific to your local configuration.
#
# Location of the SDK. This is only used by Gradle.
# For customization when using a Version Control System, please read the
# header note.
#Thu Aug 29 17:07:04 CST 2019
ndk.dir=
sdk.dir=C\:\\Users\\admin\\AppData\\Local\\Android\\Sdk

2.现在,你应该打开你的sdk.dir并找到“ndk”或“ndk-bundle”文件夹,然后删除它们(如果你不想删除,你可以重命名为“ndk-test”,“ ndk-bundle-test”或其他你喜欢的)。不用担心,如果你需要编辑NDK功能,你可以在SDK-manager中下载。但是如果你想构建这个项目,你必须这样做。

3.最后,重建,就这么简单!!


0
投票

如何解决这个问题 找不到 java.lang.Object com.thingclips.smart.security.jni.SecureNativeApi.doCommandNative(android.content.Context, int, byte[], byte[], boolean) 的实现(尝试了 Java_com_thingclips_smart_security_jni_SecureNativeApi_doCommandNative 和 Java_com_thingclips_smart_security_jni_SecureNativeApi_doCommandNative__Landroid_content_Context_ 2I_3B_3BZ)

© www.soinside.com 2019 - 2024. All rights reserved.