воскресенье, 21 сентября 2014 г.

Запуск андроид приложений на любой ОС(через Chrome)


Всем привет!

Этот день настал! Теперь вы можете запустить андроид приложение на Chrome. Просто следуйте моей инструкции:
1. Распакуйте первый архив. Можно распаковать в любое место
2. Зайдите в chrome://extentions и поставьте галочку около "Режим разработчика"
3. Перезагрузите браузер
4. Снова зайдите в chrome://extentions и выберите "Загрузить распакованное расширение"
5. Выберите папку, которая получилась в следствии распаковки первого архива(см. шаг 1)
6. Не обращайте внимание на ошибки. Это нормально
7. Далее распакуйте второй архив, а точнее папку "_template" в любое удобное место
8. Теперь откройте в проводнике папку "_template", потом "vendor", далее"Chromium" и наконец "crx". Сюда, в папку "crx" положите apk файл, который вы скачали.
9. Теперь вам надо узнать package name вашего андроид приложения. Где его можно узнать:
  • В Google Play, например:
10. Теперь теперь переименуйте apk файл и папку "_template" в название пакета(package name(см. шаг 9))

11. Откройте файл manifest.json блокнотом или notepad++
12. Вы там увидите такую лафу:
{
   "app": {
      "background": {
         "page": "app_main.html"
      }
   },
   "arc_metadata": {
      "apkList": [ "custom-android-release-1400197.apk" ],
      "enableExternalDirectory": false,
      "formFactor": "phone",
      "name": "__PACKAGE__",
      "orientation": "portrait",
      "packageName": "__PACKAGE__",
      "useGoogleContactsSyncAdapter": false,
      "usePlayServices": [ "gcm" ]
   },
   "default_locale": "en",
   "icons": {
      "128": "icon.png",
      "16": "icon.png"
   },
   "import": [ {
      "id": "mfaihdlpglflfgpfjcifdjdjcckigekc"
   } ],
   "key": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAh8HMM22e3J95V1TO1RSEF9j4eOATV+pIhGq5FFJek9l1aM9ot0B9rB25pWALNZdiW3hrgRcPR/8YGFaccFbcgneK29hnHbcbwSytdrhK2tF7iV3lbbd/FvENBODZXu3jGruWKRCtlsJgaOmA/97wpHEnn8vqkKLj4+W9kIU+dp+m9GzbB9eQijnt/7XQyJzS1YWsVZyrPaNrEibO33u+CesZ+9lSSJsvocd+r0CK+AvEY8mN27/OhNblDGLOQ/OC8L/AvEm9mU3wk11KyqS18e48XbH9Saxmsl72Z7FTcv4j/C0bqNyeJX1Ja2DMEoabuE2Jxm3vtP9jq+5UjRV1+wIDAQAB",
   "manifest_version": 2,
   "name": "__MSG_extName__",
   "oauth2": {
      "client_id": "133701689125-jj0hr4gb0ff4ulsbrn0uk2i4th946d4c.apps.googleusercontent.com",
      "scopes": [  ]
   },
   "offline_enabled": true,
   "permissions": [ "gcm", {
      "socket": [ "tcp-connect", "tcp-listen", "udp-bind", "udp-send-to", "resolve-host" ]
   }, "unlimitedStorage", "notifications", "clipboardRead", {
      "fileSystem": [ "write" ]
   }, "https://clients2.google.com/", "videoCapture", "clipboardWrite", "identity.email", "alarms", "storage", "identity", "audioCapture" ],
   "requirements": {
      "3D": {
         "features": [ "webgl" ]
      }
   },
   "update_url": "https://localhost",
   "version": "1337"

}

12. Теперь поменяйте эти строки:
"formFactor": "Введите или "phone" или "tablet"",
"name": "Сюда надо вводить имя пакета",
"orientation": "Введите или "portrait" или "landspace"",
"packageName": "Сюда надо вводить имя пакета",
13. В итоге у вас получится такой файл(для инстаграмма):
{
   "app": {
      "background": {
         "page": "app_main.html"
      }
   },
   "arc_metadata": {
      "apkList": [ "custom-android-release-1400197.apk" ],
      "enableExternalDirectory": false,
      "formFactor": "phone",
      "name": "com.instagram.android",
      "orientation": "portrait",
      "packageName": "com.instagram.android",
      "useGoogleContactsSyncAdapter": false,
      "usePlayServices": [ "gcm" ]
   },
   "default_locale": "en",
   "icons": {
      "128": "icon.png",
      "16": "icon.png"
   },
   "import": [ {
      "id": "mfaihdlpglflfgpfjcifdjdjcckigekc"
   } ],
      "manifest_version": 2,
   "name": "__MSG_extName__",
   "oauth2": {
      "client_id": "133701689125-jj0hr4gb0ff4ulsbrn0uk2i4th946d4c.apps.googleusercontent.com",
      "scopes": [  ]
   },
   "offline_enabled": true,
   "permissions": [ "gcm", {
      "socket": [ "tcp-connect", "tcp-listen", "udp-bind", "udp-send-to", "resolve-host" ]
   }, "unlimitedStorage", "notifications", "clipboardRead", {
      "fileSystem": [ "write" ]
   }, "https://clients2.google.com/", "videoCapture", "clipboardWrite", "identity.email", "alarms", "storage", "identity", "audioCapture" ],
   "requirements": {
      "3D": {
         "features": [ "webgl" ]
      }
   },
   "update_url": "https://localhost",
   "version": "1337"

}
Жирным отмечены изменения

Последний шаг! Снова зайдите в chrome://extentions и выберите "Загрузить распакованное расширение". Выберите вашу папку с manifest.json и вашим APK файлом. Нажмите на кнопку "Запустить"

Только что я расписал на русском возможность запуска android приложений на любых ОС. Я написал ручной вариант, но если вы разберетесь с автоматическим вариантом, то напишите как вы это сделали в комментарии. Буду признателен

Если у вас есть вопросы или проблемы, то пишите их в комментарии. Я постараюсь на них ответить

P.S. Некоторые приложения могут не работать. Например: Google Chrome ;)

P.P.S Работает лучше, чем android эмулятор