motofan logo
       
> 

Установка игр и приложений на карту памяти, Без спроса! [faq для Мотофана]

Last
сообщение 1.8.2011, 21:39


X squad : media
*****

Группа: Разработчики сайта
Сообщений: 576
Регистрация: 14.1.2005
Из: Украина, Мариуполь
Пользователь №: 34 099
Модель телефона: Atrix 4G
Прошивка: CM WB 20/02/12

Рейтинг: 625



Как известно Android версии 2.2 и выше позволяет устанавливать приложения на карту памяти. Однако, для этого нужно, чтобы сам разработчик разрешил проделывать подобное со своим творением. Далеко не все разработчики такие добрые, некоторые из них либо забывают об этом, либо просто забивают. А может и вовсе не знают о такой возможности. Я хочу научить вас, как исправлять это дурацкое недоразумение.
Вот как это делается из-под Windows на примере офисного приложения Picsel Smart Office (если пользуетесь другим способом редактирования apk, то переходите сразу к пунктам 6-9):
  1. Скачиваем и устанавливаем java-машину (ссылка).
  2. Скачиваем отсюда первые два файла. Оба файла нужно распаковать в папку WINDOWS (распаковываются WinRar'ом)
  3. Создаем в корне диска C:\ папку 1111 и размещаем там файл .apk, который хотим научить устанавливаться на SD-карту. Переименовываем его в 1111.apk, для удобства.
  4. Пуск - Выполнить - CMD - ОК (В Win7 и Vista путь выглюдит иначе: Пуск - Все Программы - Стандартные - Командная строка - ОК).
  5. Набираем в консоли латиницей код разборки .apk и ждем окончания процесса:
    Код
    C:
    cd c:\
    apktool d 1111\1111.apk 1111\1111
  6. Заходим в папку C:\1111\1111 и открываем AndroidManifest.xml любым текстовым редактором (можно Блокнотом)
  7. Находим примерно такую строку (у каждой программы свое значение параметров, но сами параметры везде одинаковы):
    Код
    <manifest android:versionCode="6342" android:versionName="1.7.0" package="com.picsel.tgv.app.ue2fileviewer"
  8. Заменяем эту строку на следующую:
    Код
    <manifest android:versionCode="6342" android:versionName="1.7.0" android:installLocation="auto" package="com.picsel.tgv.app.ue2fileviewer"

    Что мы сделали? Добавили параметр android:installLocation="auto" между номером версии и названием пакета.
  9. Сохраняем файл.
  10. Набираем в консоли латиницей код сборки .apk (вы ведь еще не закрывали консоль, нет?), ждем окончания процесса:
    Код
    apktool b 1111\1111

    В папке C:\1111\1111\ появятся новые папки: build и dist. Заходим в dist.
  11. Подписываем приложение. Я использую для этого скрипт Auto-sign
    Прикрепленный файл Auto_sign.zip   ( 1.53 килобайт ) Кол-во скачиваний: 217

    Как пользоваться скриптом? Распакуйте содержимое внутренней папки архива "Auto-sign" в dist, переименуйте 1111.apk в update.zip, запустите sign.bat, дождитесь окончания процесса, переименуйте update_signed.zip в xxxx.apk (где xxxx - любое название, придумайте его сами).
    Ну вот и все, теперь можно ставить программу (или игру) на телефон.
Примечания:
  • Поверх оригинальной версии адаптированная вряд ли поставится. В таком случае, удалите оригинал и ставьте свою переделанную. А для того, чтобы не потерять данные при удалении, используйте Titanium Backup;
  • На Android 2.2 программы на карту памяти переносятся лишь частично (около 40-50% от оригинального размера), а на Android 2.3 и выше программы могут переноситься почти целиком (до 90-95% от оригинального размера);
  • CyanogenMod 6 и 7 вообще не проверяют Manifest, т.е. программы можно перемещать на карту памяти даже без согласия разработчика и выполнения данной инструкции.
  • Эта инструкция написана для того, чтобы у некоторых людей (вроде меня) не было необходимости прибегать к app2sd и прочей ерунде, нагружающей флешку, батарейку и процессор.

За информацию Спасибо! Alelug с 4Пда
Прикрепленный файл Auto_sign.zip   ( 1.53 килобайт ) Кол-во скачиваний: 217
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Установка игр и приложений на карту памяти, Без спроса! [faq для Мотофана] · Motorola на OS Android · Forum
 

Ответ в темуСоздание новой темы
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 21.8.2019, 4:43

Форум живёт: