我正在尝试使用AndroidJniBitmapOperations库。
但是我是一名初级开发人员,对NDK,JNI Realm 一无所知。
我成功解决了一些错误,例如“UnsatisfiedLinkError”,但现在尝试构建时出现了一个新错误:
error: undefined reference to 'AndroidBitmap_unlockPixels'
另外,我在CPP文件中收到一些错误:
1.“参数'prarmeterName'的类型错误,应具有'jint'类型。
2.“添加外部'C'”
但是我不确定最后两个是否重要。
帮助我更新此库,因为它很重要并且已经在SO中进行了多次讨论,例如:here。
库本身的链接:
https://github.com/AndroidDeveloperLB/AndroidJniBitmapOperations
到目前为止,我所做的只是:
https://github.com/LiorA1/MyRevApp
最佳答案
您需要链接提供该API的库。在https://github.com/LiorA1/MyRevApp/blob/master/app/src/main/cpp/CMakeLists.txt中,复制日志库的代码,如下所示:
find_library(log-lib log)
find_library(jnigraphics-lib jnigraphics)
target_link_libraries(JniBitmapOperationsLibrary ${log-lib} ${jnigraphics-lib})
尽管我认为模板代码实际上在这里过于复杂,您可以简化为:
target_link_libraries(JniBitmapOperationsLibrary -llog -ljnigraphics)
虽然未经测试。
至于如何确定每个Android API需要使用哪个库,我发现最简单的方法是在cs.android.com上进行搜索。为此,我搜索了
AndroidBitmap_unlockPixels file:.*\.map\.txt
(每个NDK API都在*.map.txt
文件中枚举了)。您也可以使用this page,但是代码搜索是权威的,在这种情况下,可以轻松地查找单个功能,而不仅仅是“位图”。
关于android - Android Studio | CPP文件错误错误:位图库中对 'AndroidBitmap_unlockPixels'的 undefined reference ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61807285/