android - 将重要的 key 保存在 gradle 上是否安全?

标签 android android-studio gradle

我的应用程序中有一些重要的键,我想知道放置它们的最佳位置。我也启用了我的 proguard,但是当我反编译应用程序时,键钢可见,我想把它们放在 gradle 上。

最佳答案

创建一个文件夹 jni(在 main 内)并创建两个文件。

  • hide_key.c。
  • CMakeLists.txt

  • CMakeLists.txt
    cmake_minimum_required(VERSION 3.4.1)
    
    add_library(hide_key SHARED
                hide_key.c)
    
    # Include libraries needed for hide_key lib
    target_link_libraries(hide_key
                          android
                          log)
    

    在上面复制并粘贴到 CMakeLists.txt 中。
    #include <string.h>
    #include <jni.h>
    
    JNIEXPORT jstring JNICALL
    Java_/*replace with package*/_stringFromJNI(JNIEnv *env,
                                                                                  jobject instance) {
            return (*env)->NewStringUTF(env, "key here");
    }
    

    这在 hide_key.c 中。

    然后在 build.gradle
    android{
    externalNativeBuild {
            cmake {
                path "src/main/jni/CMakeLists.txt"
            }
        }
    }
    

    然后在您的代码中执行此操作以获取 key 。
    static {
            System.loadLibrary("hide_key");
        }
    
        public native String stringFromJNI();
    

    关于android - 将重要的 key 保存在 gradle 上是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44895572/

    相关文章:

    Android:将游戏数据从服务器发送到 Android 客户端

    android - 运行cocoa2dx项目时出错

    java - 无法运行monkeyrunner脚本

    java - Android Studio 构建错误 : "Content is not allowed in prolog."

    android - 在 Android 上使用 Alarm Manager 启动服务?

    android - 如何防止EditText错误图标被填充插入?

    java - 为什么创建从Internet下载gradle.zip的Gradle项目?

    android - 切换到 ActionBarCompat,但出现与主题相关的构建错误

    android - 如何使 DDMS native 堆选项卡可见?

    android - 未找到 native 方法 : org. opencv.core.Mat.n_Mat:()J