Клонировать приложение для Android программно - PullRequest
0 голосов
/ 04 января 2019

Есть несколько приложений Android, которые позволяют пользователю клонировать существующее приложение на телефоне.Например: http://fixoptimize.com/app-cloner Можете ли вы объяснить, как работают эти клонеры?Спасибо.

1 Ответ

0 голосов
/ 04 января 2019
  1. Измените имя пакета на AndroidManifest.xml и заново подпишите приложение.Обратите внимание, что xml является двоичным, а не текстом в пакете apk.Android идентифицирует различные приложения с помощью имени пакета и с измененным именем пакета, приложение будет считаться «новым».
  2. Хотя простой подход может работать или не работать (например, приложение предполагает, что его имя пакета является постоянным,или проверяет его подпись) во многих случаях должны применяться различные другие изменения, включая также изменение имени пакета java, отключение проверки подписи, изменение строковых литералов, которые предполагают имена путей, содержащие имя пакета.Все это (вероятно) потребует декомпиляции и деассамблирования dex и даже native кодов, что не только жестко, но и незаконно.
  3. Современный способ : песочница приложения.Будет создана среда песочницы, в рамках которой приложение, которое «клонируется», фактически не клонируется и остается неизменным.Песочница будет перехватывать весь обмен данными между клонированным приложением и системой, пользователем и другими приложениями, поэтому она transparent и стабильна.Ни приложение, ни пользователь не заметят, что приложение находится в «песочнице».И это, скорее всего, устраняет юридические проблемы, если эмулятор также не объявлен вне закона.На github есть приложения-песочницы с открытым исходным кодом, которые вы можете изучить и скопировать.
...