如何使用 C++ 在 Android 中获取 Version.Code?

How to get Version.Code in Android using C++?

我在 Android 项目中使用本机 C++。

在 Java 或 Kotlin 中,我们可以使用 BuildVersion.Code 从 Gradle 文件中获取 Android 代码。如何在 C++ 中获取此版本代码?

这对我有用:

jclass build_config_class = env->FindClass("com/example/app/BuildConfig");
jfieldID version_code_id = env->GetStaticFieldID(build_config_class, "VERSION_CODE", "I");
jfieldID version_name_id = env->GetStaticFieldID(build_config_class, "VERSION_NAME",
                                                      "Ljava/lang/String;");

int version_code = env->GetStaticIntField(build_config_class, version_code_id);
jstring version_name = (jstring) env->GetStaticObjectField(build_config_class, version_name_id);

您需要更改代码中的 com/example/app 以匹配您的包名称。