从 NDK 代码中读取构建参数
Posted
技术标签:
【中文标题】从 NDK 代码中读取构建参数【英文标题】:Read build arguments from NDK code 【发布时间】:2017-10-16 13:30:53 【问题描述】:我有一个将我的 api 密钥注入我的应用程序的 NDK 文件,代码可以正常工作:
#include <jni.h>
JNIEXPORT jstring JNICALL
Java_yt_javi_nftweets_ui_main_MainActivity_getTwitterKey(JNIEnv *env, jobject instance)
return (*env)-> NewStringUTF(env, "my_twitter_key");
我想通过自定义构建参数更改 my_twitter_key
externalNativeBuild
ndkBuild
arguments "-DTWITTER_API_KEY=my_twitter_key"
并在 Java_yt_javi_nftweets_ui_main_MainActivity_getTwitterKey 方法中读取该参数
【问题讨论】:
【参考方案1】:您可以在 C 代码中为 cFlags
和 stringify it 添加定义:
android
defaultConfig
externalNativeBuild
ndkBuild
cFlags "-DTWITTER_API_KEY=my_twitter_key"
#define xstr(s) str(s)
#define str(s) #s
...
return (*env)->NewStringUTF(env, xstr(TWITTER_API_KEY));
【讨论】:
以上是关于从 NDK 代码中读取构建参数的主要内容,如果未能解决你的问题,请参考以下文章