error: frameworks/native/opengl/tests/gl_jni_zz/Android.bp:20:1: dependency "libprotobuf" of "libDesensitisejni" missing variant: os:android, image:, arch:arm64_armv8-a, sdk:sdk, link:shared, version: available variants: os:android, image:, arch:arm64_armv8-a, sdk:, link:shared, version: os:android, image:, arch:arm64_armv8-a, sdk:, link:static, version:原因
时间: 2024-04-22 15:22:55 浏览: 323
这个错误是由于在编译 "libDesensitisejni" 时,找不到符合指定条件的 "libprotobuf" 库的变体。具体来说,你的系统中可能没有符合条件的 "libprotobuf" 库或者是这个库的变体不匹配。你需要检查你的系统中是否有符合条件的库,并且确保它们的变体与编译 "libDesensitisejni" 所需的变体匹配。你可以尝试更新或安装相应的库来解决这个问题。
相关问题
error: frameworks/native/opengl/tests/gl_jni_zz/Android.bp:16:1: dependency "libjpeg" of "libDesensitisejni" missing variant:如何配置到Android.bp中配置
出现这个错误是因为在 Android.bp 文件中某个模块依赖的库没有指定正确的 variant。你需要检查一下 `libjpeg` 库的 Android.bp 文件中是否定义了与当前编译环境相匹配的 variant。
如果 `libjpeg` 库的 Android.bp 文件中没有定义相应的 variant,你需要手动添加一个 `preferred` 属性,并指定当前编译环境的 variant。例如,在 `libjpeg` 模块的 Android.bp 文件中添加以下内容:
```
preferred: {
arch: {
arm: {
variant: "armv7-a"
},
arm64: {
variant: "armv8-a"
},
x86: {
variant: "i686"
},
x86_64: {
variant: "x86_64"
},
},
}
```
上述代码中,我们为不同的架构指定了对应的 variant。你需要根据你的编译环境来修改其中的值。完成后,重新编译即可。
android_app { name: "DesensitiseJNI", srcs: ["**/*.java"], sdk_version: "current", jni_libs: ["/home/scm/zw/disk2/zw/work/tianweixing/code/lagvm/LINUX/android/frameworks/native/opengl/tests/gl_jni_zz/libs/libDesensitisejni"], }有错误吗
这段代码看起来没有明显的错误,但是需要注意以下几点:
1. jni_libs 中指定的路径是否正确,以及路径中是否包含了 JNI 库的名称。在这个例子中,路径中包含了 JNI 库的名称,因此应该是正确的。
2. 如果 JNI 库是在其他项目中生成的,则需要将其包含到当前项目中。可以使用 LOCAL_SHARED_LIBRARIES 或 LOCAL_STATIC_LIBRARIES 指令进行包含。
3. 如果 JNI 库是在当前项目中生成的,则需要确保它已经被正确地编译和链接。可以使用 LOCAL_C_INCLUDES 和 LOCAL_LDLIBS 指令分别指定头文件路径和链接库。
4. sdk_version 设置为 "current" 可能会导致一些兼容性问题,建议指定具体的 SDK 版本号。
综上所述,如果没有其他的问题,这段代码应该可以正常工作。
阅读全文