我是NDK世界的新手。我有一个放在C / C ++层的密钥,我想在使用Retrofit进行GET时使用它。
这是我的代码
我有2个.mk文件,但它们与我的问题无关,我有一个keys.c文件,我存储了密钥:
#include <jni.h>
JNIEXPORT jstring JNICALL
Java_com_hello_world_PlacesListActivity_getNativeKey(JNIEnv *env, jobject instance) {
return (*env)-> NewStringUTF(env, "my_key");
}
我能够在我的PlacesListActivity中使用此代码读取密钥:
static {
System.loadLibrary("keys");
}
public static native String getNativeKey();
现在我想在接口中使用GET请求的auth头中的本地String:
public interface TestService {
@Headers({
"client_id:" + PlacesListActivity.getNativeKey()
})
@GET("/some_end_point/")
}
我得到的问题是:
有关如何解决此问题的任何想法?提前谢谢。
答案 0 :(得分:0)
您是否尝试过实现接口并从那里调用C ++函数。接口通常用于声明函数,但实际上并不实现函数。
答案 1 :(得分:0)
结束修改我传递auth标头的方式
@GET("/some_end_point/")
Observable<PlaceLocations> getPlaces(@Header("client_id") String authKey,@Path("name") String name);