gpt4 book ai didi

java - Android System.loadLibrary 崩溃

转载 作者:行者123 更新时间:2023-11-30 15:11:50 27 4
gpt4 key购买 nike

我正在尝试将 c 文件ImageProc 包含到我的 java 文件中以使用它的函数。

我从 MjpegInputStream 文件 中获取了代码(其中一切都应该正常工作,但当然它从来没有那么容易)

这是崩溃的代码(不知何故,catch 没有捕获它)

static {
try {
System.loadLibrary("ImageProc");
}
catch (Exception e){
e.getMessage();
}
}

makefile 是:

include $(CLEAR_VARS)
LOCAL_MODULE := ImageProc
LOCAL_SRC_FILES := ImageProc.c
LOCAL_LDLIBS := -llog -ljnigraphics
LOCAL_SHARED_LIBRARIES := prebuilt-libjpeg
LOCAL_C_INCLUDES := external/include jni/external/include

所以据我了解,我应该能够使用 ImageProc

我知道它经历并编译了 c 文件,因为一开始它找不到 h 文件引用(现已修复)。

我不确定的另一件事是我调用了函数pixeltobmp,它在c文件中定义为Java_com_camera_simplemjpeg_MjpegInputStream_pixeltobmp,这让我觉得很奇怪。我尝试更改方法的名称以包含我正在使用的包而不是我从中复制的包,但这并没有解决任何问题。

感谢任何帮助。

其他信息:我正在使用 gradle build 2.10

最佳答案

 1. Compile your library
2. Check if you have the .so compiled library(this is important!)
3. In your gradle file add this:

android {
compileSdkVersion 23
buildToolsVersion "22.0.1"

defaultConfig {
minSdkVersion 18
targetSdkVersion 23
versionCode 1
versionName "1.0"
}

sourceSets.main {
jni.srcDirs = []
File configFile = file('pathToYourLibsFolder')
jniLibs.srcDir configFile.absolutePath
}

然后它应该可以工作。

关于java - Android System.loadLibrary 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35401727/

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