Создайте AOSP, чтобы он имел скрытое значение ключа, доступное только системным приложениям - PullRequest
0 голосов
/ 09 ноября 2018

Я создаю AOSP ROM для своего ТВ-бокса. Я разработал системное приложение и поместил его в AOSP в качестве priv-приложения.

Я хочу отслеживать само оборудование , чтобы иметь возможность однозначно идентифицировать ящик на стороне сервера. НО я не хочу этот идентификатор, утечка в другие приложения, которые любой пользователь может установить на него. (таким образом, злоумышленник не может узнать ключ, установив свое приложение на многих устройствах)

Пока мне удалось записать ключ и прочитать его с помощью этого кода:

String serial = null; 

try {
    Class<?> c = Class.forName("android.os.SystemProperties");
    Method get = c.getMethod("get", String.class);
    serial = (String) get.invoke(c, "ro.boot.mycustomserialnumber");
} catch (Exception ignored) {
}

Но этот код может быть запущен любым приложением без какого-либо разрешения. Могу ли я запретить обычным приложениям доступ к этому значению?

1 Ответ

0 голосов
/ 15 ноября 2018

Добавьте пользовательскую пару имя / значение в SettingsProvider или Вы можете создать собственного провайдера.Защитите пару имя / значение с пользовательским разрешением и предоставьте это разрешение только для вашего приложения.

...