Какой предпочтительный способ скрыть личную информацию в Android Studio? - PullRequest
0 голосов
/ 04 октября 2018

Я хочу скрыть личную информацию, такую ​​как ключ API, при загрузке моего проекта.Поэтому мне интересно, есть ли способ установить переменную окружения где-нибудь, как я делаю в командной строке.

Например, я хочу скрыть свой ключ API в google_maps_api.xml

<string name="google_maps_key" templateMergeStrategy="preserve" translatable="false">API_KEY_HERE</string>

Как это сделать в Android Studio?

Ответы [ 2 ]

0 голосов
/ 04 октября 2018

в соответствии с рекомендациями, рекомендуется хранить все учетные данные в gradle.properties следующим образом:

KEYSTORE_PASSWORD=password123
KEY_PASSWORD=password789
GOOGLE_MAP_KEY=API_KEY_HERE

Этот файл автоматически импортируется Gradle, поэтому вы можете использовать его следующим образом:

signingConfigs {
    release {
        try {
            storeFile file("myapp.keystore")
            storePassword KEYSTORE_PASSWORD
            keyAlias "thekey"
            keyPassword KEY_PASSWORD
        }
        catch (ex) {
            throw new InvalidUserDataException("You should define KEYSTORE_PASSWORD and KEY_PASSWORD in gradle.properties.")
        }
    }
}

Чтобы использовать gradle.properties внутри класса, вы можете сослаться на это:

android {
    ...
    defaultConfig {
        ...
        // defining the google map key
        buildConfigField "String", "GOOGLE_MAP_KEY", MAP_KEY
    }
}

Это будет сгенерировано в <package_name>.BuildConfig.java и будет содержать следующие поля:

public class BuildConfig {
    // ... other generated fields ...
    public static final String GOOGLE_MAP_KEY = "API_KEY";
}

Теперь вы можете напрямую использовать GOOGLE_MAP_KEY, вызывая BuildConfig.GOOGLE_MAP_KEY в любом классе.

Для обеспечения безопасности всех ваших учетных данных не фиксируйте gradle.properties в своих репозиториях контроля версийкак Github и т. д.

0 голосов
/ 04 октября 2018

Сначала вы должны создать файл .env вне вашей папки src.

Затем добавьте

REACT_APP_WEATHER_API_KEY=123456

Замените 123456 на API_KEY

Перед фиксацией, вы должны исключить этот .env файл, поэтому найдите .gitignore файл и добавьте .env.

, вы можете использовать эти переменные env, как это ..

 const API_KEY = process.env.REACT_APP_WEATHER_API_KEY;

Теперь вы можете идти.

Не забудьте добавить .env в файл .gitignore.

для получения дополнительной информации см.

...