android_app { name: "DesensitiseJNI", srcs: ["**/*.java"], sdk_version: "current", jni_libs: ["libDesensitisejni"], } // Build JNI Shared Library cc_library_shared { name: "libDesensitisejni", cflags: [ "-Werror", "-Wno-error=unused-parameter", ], include_dirs: ["."], srcs: ["jni/jpgDesensitise.cpp"], shared_libs: [ "libEGL", "libGLESv2", "libjpeg", "libprotobuf", "libTSDesensitizationAlgorithm", "libecarx_engine", ], sdk_version: "current", arch: { arm: { instruction_set: "arm", }, }, }有错误吗
时间: 2023-12-15 21:05:56 浏览: 24
从代码来看,没有明显错误。但是需要检查以下几点:
1. 检查 `srcs` 中的源文件路径是否正确。
2. 检查 `jni_libs` 中的库是否已经正确编译。
3. 检查 `shared_libs` 中的库是否已经正确编译,并且是否包含所需的变体。
4. 检查 `include_dirs` 中的路径是否正确。
如果以上几点都没有问题,尝试清除构建缓存并重新编译。如果还是无法解决问题,建议提供更详细的错误信息。
相关问题
android_app { name: "DesensitiseJNI", srcs: ["**/*.java"], sdk_version: "current", jni_libs: ["libDesensitisejni"], }转为CMakeList
根据给出的 Android.mk 文件,可以转换为以下 CMakeLists.txt 文件:
```
cmake_minimum_required(VERSION 3.4.1)
add_library(DesensitiseJNI SHARED
src/main/java/com/example/DesensitiseJNI/DesensitiseJNI.java)
find_library(log-lib log)
target_link_libraries(DesensitiseJNI
${log-lib}
Desensitisejni)
```
需要注意的几点:
- `cmake_minimum_required(VERSION 3.4.1)` 表示需要使用 CMake 的版本,可以根据实际情况进行修改。
- `add_library` 函数用于添加库文件,其中 `SHARED` 表示动态库。
- `srcs` 中的 `.java` 文件需要被编译成 `.class` 文件,并打包成 `.jar` 文件,然后再使用 `add_library` 函数将其添加到库中。
- `jni_libs` 中的库文件需要在 `target_link_libraries` 函数中进行链接。
- `find_library(log-lib log)` 表示查找 `log` 库,可以根据实际情况进行修改。
android_app { name: "GLJNI", srcs: ["**/*.java"], sdk_version: "current", jni_libs: ["libgljni"], }转为CMakeLists
将 Android.mk 转换为 CMakeLists.txt 可以按照以下步骤进行:
1. 创建 CMakeLists.txt 文件并设置项目名称
```
cmake_minimum_required(VERSION 3.4.1)
project(GLJNI)
```
2. 添加源文件
```
file(GLOB_RECURSE SRC_FILES "${CMAKE_CURRENT_SOURCE_DIR}/*.cpp" "${CMAKE_CURRENT_SOURCE_DIR}/*.h" "${CMAKE_CURRENT_SOURCE_DIR}/*.c")
add_library(gljni SHARED ${SRC_FILES})
```
3. 添加依赖库
```
find_library(log-lib log)
target_link_libraries(gljni ${log-lib})
```
其中,log-lib 是一个 Android 系统提供的库,用于输出日志。如果需要使用其他库,则需要按照类似的方式进行添加。
4. 设置编译选项
```
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall")
```
这里设置了编译选项,包括使用 C++11 标准和开启编译警告。
最后,生成的 CMakeLists.txt 可能需要根据具体的项目进行调整,以满足项目的需求。