【问题标题】:Read build arguments from NDK code从 NDK 代码中读取构建参数
【发布时间】: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 方法中读取该参数

【问题讨论】:

    标签: android android-ndk


    【解决方案1】:

    您可以在 C 代码中为 cFlagsstringify 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));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-13
      • 2018-01-01
      • 2023-03-25
      相关资源
      最近更新 更多