18.11.2014 Views

JIT SPRAY АНАЛИЗ TDSS - Xakep Online

JIT SPRAY АНАЛИЗ TDSS - Xakep Online

JIT SPRAY АНАЛИЗ TDSS - Xakep Online

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

coding<br />

Наше приложение_Немного коряво но сойдет<br />

заветное SUCCESSFUL, можно идти в главное меню Андроида и<br />

запускать оттуда свое приложение.<br />

Грабли<br />

путь до проекта, его имя, имя Activity и имя пространства имен для<br />

приложения. У меня получилось вот так:<br />

./android create project --target 8 --name hello<br />

--path ./TestPro --activity helloActivity --package<br />

com.example.hello<br />

Делаем ls… ага, вот она — директория TestPro. Входим в нее, и<br />

опять вызываем ls. Далее в директории libs нужно создать сабдиректорию<br />

armeabi. В нее мы копируем нашу собранную Qt’шную<br />

либу (.so).<br />

В каталог src/ надо скопировать все содержимое androidlighthouse/src/android/java/com,<br />

чтобы получилось src/com/nokia/<br />

qt. После этого идем в src/com/example/hello/ и редактируем там<br />

главный Activity — helloActivity.java. Удаляем onCreate, добавляем<br />

функцию:<br />

ÇÀÊËÞ×ÅÍÈÅ<br />

Когда-то (то ли в 2007, то ли в 2008) у меня на телефоне (Motorola<br />

A1200e, один из первых телефонов с Linux, и, кстати, с гуем,<br />

написанным на Qt 2) появилась QTopia, также известная как Qt<br />

Embedded — встраиваемая ОС от Trolltech на базе Linux Kernel 2.6<br />

с оболочкой на Qt 4, заброшенная после покупки троллей нокией.<br />

Появилась она благодаря труженикам с форума motofan, сумевшим<br />

портировать ее на ядро 2.4 (другого у A1200 не было и не<br />

будет, поэтому не будет и Андроида). Так вот, когда я ее поставил,<br />

был удивлен простотой портирования приложений с десктопа на<br />

телефон — иногда требовалось просто пересобрать его кросскомпилятором,<br />

и все!<br />

К сожалению, новомодного Qt 4.5 платформа не получила (и зря —<br />

на мой взгляд, она была не хуже, чем Maemo). Теперь такой метод<br />

портирования возможен и на Android, а ведь за ним будущее. И,<br />

кстати, вовсю идет портирование Qt Mobility, классного фреймворка<br />

для телефонов Nokia. Жаль, пока что портированием занимается<br />

только один, пусть и очень крутой человек (кстати, помочь не<br />

же лаешь?). В общем, нам осталось дождаться портирования Qt на<br />

iOS (там, к сожалению, все далеко не так радужно), и тогда можно<br />

будет смело заявлять, что лозунг Qt Software не высосан из пальца.<br />

Qt Everywhere!<br />

THANKS TO:<br />

Огромное спасибо румыну taipanromania (автор порта) и marflon<br />

(раньше, кстати, писал в ][) за помощь с созданием .apk, ну и, традиционно,<br />

группе И-3-1 (Прикладная Математика) МГТУ «Станкин». z<br />

Типичное рабочее место разработчика под андроид<br />

на qt<br />

public helloActivity()<br />

{<br />

setApplication("Hello");<br />

}<br />

Здесь Hello — имя приложения. Следовательно, наша библиотека .so<br />

должна называться libHello.so.<br />

Ну и, наконец, идем в консоли в корень проекта и командуем ant<br />

install. Ждем (долго, поскольку либа статическая и весит много. У<br />

меня, например — 12.5 Мб). После того, как в консоли появится<br />

XÀÊÅÐ 09 /140/ 10<br />

107

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!