Настраиваем Titanium Studio для запуска приложений в Android X86

Если установить Android X86 как виртуальную машину, то можно столкнуться с тем, что Titanium Studio наотрез отказывается запускать на ней приложения и вместо этого запускает жутко медленный эмулятор. Придется немного настраивать, а правильнее говоря допиливать.

Просмотров (1271)

Ноги данной проблемы растут из того, что Titanium Studio запускает приложения используя adb, а adb не хочет признавать виртуальную машину как физическое устройство.

post-titanium-and-androidx86-screen3

Придется вносить исправления в %HOME%\AppData\Roaming\Titanium\mobilesdk\win32\3.0.2.GA\android\builder.py, но сперва на всякий случай сделайте резервную копию этого скрипта.

Ищем вхождение текста def build_and_run

post-titanium-and-androidx86-screen1

и после строки if install вставляем строки:

output= self.run_adb('devices')
dev_id, dev_type=output.split("\r\n")[1].split("\t")
if (dev_type== 'device'):
    self.device_args=['-s', dev_id]

В результате получается:
post-titanium-and-androidx86-screen1-new

Далее ищем вхождение текста Failed installing:

post-titanium-and-androidx86-screen2

и заменяем elif not self.install: на else:

post-titanium-and-androidx86-screen2-new

 

Данные изменения в скрипте не изменяют никакого функционала, а только исправляют некоторые его недочеты.

builder.py со всеми необходимыми изменениями из Titanium Studio, build: 3.1.3.201309132423

Возможно, что и после этих действий у Вас не будут запускаться приложения в виртуальной машине, тогда Вам следует проверить, что на Вашем компьютере установлен Python версии 2.x (загрузить его можно с официального сайта).

Если он отсутствует, то установите его. После этого добавьте Переменные среды системы path:

c:\python27\

Если же у Вас там находится путь до python33 (как например у меня, то мы не будем идти на поводу у разработчиков Titanium Studio, которые жестко захардкодили командную строку на запуск сборки приложения. Итак, открываем (предварительно сделав резервную копию) для правки файл:


%HOME%\AppData\Roaming\Titanium\mobilesdk\win32\3.0.2.GA\android\cli\commands\_build.js

Ищем вхождение строки buildProcess = spawn

blog-find-buidprocess-old

и заменяем слово python в этой строке на полный путь к python.exe в Вашей системе, например у меня это стало так:

blog-find-buidprocess

 

Настраиваем Titanium Studio для запуска приложений в Android X86: 5 комментариев

  1. it world

    Thank you, I have recently been looking for info about this subject for ages and yours is the greatest I’ve came upon so far. But, what about the bottom line? Are you sure concerning the supply?|What i don’t realize is in truth how you’re no longer actually a lot more well-appreciated than you may be now. You’re very intelligent.

  2. rian

    нет, для меня это не работает, до изменеий говорило, что нет девайса и вываливало ошибку, а после изменений, выводит одну строчку в лог, потом пишет terminated и останавливается.

  3. Ruzard

    As for Mac OS: this is the folder with the needed script

    /Users//Library/Application Support/Titanium/mobilesdk/osx/3.1.3.GA/android/build.py
    

    and instead of

    dev_id, dev_type=output.split("\r\n")[1].split("\t")
    

    use

    dev_id, dev_type=output.split("\n")[1].split("\t")
    

    It didn’t work for me though, got an error 255 right after installation and

    E/TiApplication( 2019): (KrollRuntimeThread) [82,82] Sending event: exception on thread: KrollRuntimeThread msg:java.lang.UnsatisfiedLinkError: Couldn't load ti.cloudpush: findLibrary returned null; Titanium 3.1.3,2013/09/18 12:01,222f4d1
    

    in logcat, but that’s another story, at least it has detected the device.
    Thank you, ReinRaus, for the solution.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>