Как определить, когда приложение принудительно перемещается на SD-карту на корневом Android

#android #root #sd-card

#Android #root #sd-карта

Вопрос:

Я объявил свое приложение как internalonly, но некоторые рутированные пользователи перемещают его на SD-карту.

Как я могу определить во время выполнения, что это произошло? Я не доверяю информации, которую сообщает packagemanager, поскольку это рутированные телефоны, и мое приложение в любом случае не должно было быть перемещено на SD-карту.

Спасибо!

Ответ №1:

Откройте приложение / proc / self / maps и найдите запись, которая является файлом apk, и посмотрите на его путь.

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

Если вы обнаружите это и пожалуетесь, пожалуйста, укажите на экране ошибки, почему это проблема. Простое утверждение «это запрещено» или указание фиктивных причин только побудит людей выяснить, как обойти ваше обнаружение подделки, и в то же время оставит вам низкие рейтинги на рынке.

Комментарии:

1. Спасибо! Это не для безопасности. У меня есть служба, и я делаю резервные копии некоторых важных данных как в каталоге приложений, так и на SD-карте. Я знаю, что хранилище приложений должно быть внутренним, но у меня есть сообщения об ошибках из поля, которые указывают на обратное. И да, я предоставлю понятный «экран предупреждения», только один раз. Никаких придирок.

2. Если вас беспокоит частное хранилище приложений, лучше просто проверить фактический путь, по которому вы записываете, поскольку он может не совпадать с объемом, содержащим apk. Я полагаю, что при официальных установках на SD личные данные по-прежнему сохраняются / data, но не уверен в неофициальных реализациях. На данный момент может быть правдой, что apk в / data также подразумевает частное хранилище там, но это не обязательно связано.