【问题标题】:how to hide "API URL" and "API KEY" from "ApiResources.java"如何从“ApiResources.java”中隐藏“API URL”和“API KEY”
【发布时间】:2019-08-05 09:37:14
【问题描述】:

我的 ApiResources.java 看起来像这样

package com.example.utils;

import com.example.R;

public class ApiResources {

    public static String adStatus="0",adMobBannerId="null", adMobInterstitialId="null", adMobPublisherId="null";


    String URL = "http://example/api/";

    String API_SECRECT_KEY = "api_secret_key=1kkzczxc8fny1fagc";

【问题讨论】:

标签: java android android-studio android-developer-api


【解决方案1】:

第 1 步:在源代码之外定义密钥

将以下行放入您的用户级gradle.properties 文件中。

MyAwesomeApp_ApiKey="your-api-key-goes-here"

我更喜欢使用这种格式<Project Name>_<Key Property Name>,这样我就不会误将不同项目的密钥混淆了。

第 2 步:在项目中导入密钥

  • 打开您的模块级build.gradle 文件(通常是您为应用定义依赖项的文件)。
  • 在每个构建类型中添加您的属性。
  • 如果您想从 Java 访问密钥,请将其添加为 buildConfigField。
  • 如果您想访问 XML 文件(布局和其他资源)中的密钥,请将其添加为 resValue。

完成此操作后,您的 build.gradle 可能看起来像这样

buildTypes {
  debug {
    buildConfigField 'String', "ApiKey", MyAwesomeApp_ApiKey
    resValue 'string', "api_key", MyAwesomeApp_ApiKey
  }
  release {
    minifyEnabled false
    proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    buildConfigField 'String', "ApiKey", MyAwesomeApp_ApiKey
    resValue 'string', "api_key", MyAwesomeApp_ApiKey
  }
}

第 3 步:在应用代码中使用密钥

  • 现在在 Java 中,您可以简单地将所有使用 API_SECRET_KEY 替换为 BuildConfig.ApiKey。
  • 在 XML 中,您可以使用 @string/api_key 引用密钥。

【讨论】:

    猜你喜欢
    • 2018-10-07
    • 1970-01-01
    • 2018-03-30
    • 2020-09-12
    • 2019-02-08
    • 2023-01-19
    • 2022-11-26
    • 2019-08-09
    • 2016-11-25
    相关资源
    最近更新 更多