LiteCoding

Заметки о программировании

Архив по тэгу ‘проекты’

Приложение-помощник для портирования CyanogenMod

без комментариев

Написал приложение, позволяющее автоматизировать некоторые рутинные действия (они подробно описаны тут), связанные с подготовкой к портированию CyanogenMod. Найти его можно в Google Play. Также доступен исходный код в репозитории на guthub.

Written by Дмитрий Воробьев

Февраль 10th, 2013 at 13:13

Коротко про YAFFS

без комментариев

YAFFS — довольно распространенная в файловая система, использующая преимущества и учитывая недостатки flash-накопителей. Сам я столкнулся с ней, когда разбирался с файлами прошивки для Zenithink ZT-180, но встречал упоминания о ней в контексте аудиоплееров и других карманных устройств. На данный момент есть 2 совместимые версии YAFFS (это название используется для названия всех версий этой файловой системы), но меня больше интересует yaffs2, о ней я и расскажу.
Читать далее »

Written by Дмитрий Воробьев

Январь 22nd, 2013 at 17:50

smali2java: От лексем к сущностям

без комментариев

В прошлый раз я рассказал о том, как происходит разбор smali-файла. Но на этом цепочка превращений не заканчивается. Для того, чтобы впоследствии получить java-код, нужно сначала вычленить и распознать smali-сущности. Парсер возвращает нам лишь лексемы, но мы уже на этапе разбора можем создать экземпляры сущностей с помощью реализации интерфейса Visitor.
Читать далее »

Written by Дмитрий Воробьев

Январь 18th, 2013 at 06:22

smali2java: Больше, чем просто парсер

без комментариев

Эта небольшая заметка открывает цикл публикаций о том, как устроен smali2java. Пока комментариев и документации к этой утилите явно недостаточно, я буду по возможности объяснять, что и как smali2java делает.
Читать далее »

Written by Дмитрий Воробьев

Январь 15th, 2013 at 06:55

smali2java: итоги года

без комментариев

Близится Новый Год, и пора уходить на зимние каникулы. Поэтому сейчас самое время рассказать о том, чем уже стал проект smali2java, и во что он превратится в наступающем году.
Читать далее »

Written by Дмитрий Воробьев

Декабрь 25th, 2012 at 10:02

Августовские обновления

без комментариев

Дорогие (не)многочисленные читатели этого блога,

Как вы уже заметили, этот блог обновляется весьма нечасто. Так случается, когда работа или отдых полностью берут свое. Но, тем не менее, у меня есть замечательная новость для тех, кому так или иначе интересны проекты, которыми я занимаюсь.

1. Andor’s Trail Editor
Пару месяцев назад написал редактор сэйвов для Andor’s Trail и сегодня выложил первую альфу, которая все это время пылилась у меня на винчестере. Этот редактор пока может и умеет не так уж и много: читать, писать и редактировать количество уже имеющегося в инвентаре предмета. Но это только начало. Вся беда в том, что рисовать я не умею совсем, поэтому если у вас есть желание помочь этому опенсорсному проекту, то я буду рад скетчам GUI, иконкам для классов предметов и т.д. Естественно, каждый соавтор будет упомянут на странице проекта и в разделе «О приложении» (когда он появится).
Скачать apk и исходные коды можно с google code.

2. Smali2Java
Вернулся к своему долгострою, который «подвис» из-за возникших проблем с алгоритмизацией казалось бы простых действий. На данном этапе (pre-Alpha) он уверенно разбирает шапку smali-класса, импорты, поля и прототипы методов. Надеюсь, в ближайшем будущем он уже сможет осилить восстановление конструкторов и геттеров/сеттеров. Этому проекту также требуется помощь: ссылки на описание работы алгоритмов восстановления исходного кода, советы, патчи, запросы новых и баг-репорты по заявленным функциям.

В принципе, это все хорошие новости на данный момент. Не забывайте оставлять комментарии, даже если согласны (а тем более, если не согласны) с моим мнением.

Ваш блогмастер LiteCoding.

Written by Дмитрий Воробьев

Август 8th, 2012 at 14:44

Генерация хэша ключа для интеграции Android-приложения с Facebook

без комментариев

Известно, что этот хэш можно сгенерировать следующей командой:
keytool -exportcert -alias androiddebugkey -keystore "\.android\debug.keystore" | openssl sha1 -binary | openssl base64
(зачем это нужно, можно прочитать в официальной документации).

Но стоит допустить ошибку в пути к хранилищу ключей, алиасе ключа или пароле, хэш все равно будет сгенерирован, но интеграция работать не будет. Для того, чтобы избежать этой ситуации (а также чтобы можно было генерировать хэш без JDK и OpenSSL), я написал простенькую утилиту. В результате работы она выдает либо сообщение об ошибке, либо хэш. Параметры командной строки взяты из JDK keytool. Скачать скомпилированный вариант можно отсюда.

Written by Дмитрий Воробьев

Март 22nd, 2012 at 11:47

android-classkit v0.3

без комментариев

Вчера зарелизил очередную версию библиотеки для Android, которая расширяет возможности стандартного API. На данный момент у нее следующие возможности:

1. Позволяет использовать кастомные layout’ы в плоских списках (аналог SimpleAdapter)
2. Позволяет использовать кастомные layout’ы в группированных списках (аналог HeaderViewListAdapter)
3. Позволяет использовать кастомные layout’ы для настроек (preferences)
4. Позволяет использовать альтернативные хранилища для настроек (sqlite, RAM и др.)

Скачать последнюю версию android-classkit и демонстрационное приложение можно отсюда.
Прочитать о том, как использовать кастомные layout’ы в списках можно здесь.

Written by Дмитрий Воробьев

Январь 14th, 2012 at 18:10