Preon на Android



Я попытался запустить пример приложения Preon на Android 2.1 без успеха. Интересно, возможно ли вообще запустить приложение Preon на Android. Насколько трудно будет сделать Преон-фреймворк Далвик дружественным?



Preon-это библиотека Java для построения кодеков для данных, сжатых в битовом потоке, декларативным способом. Подумайте о JAXB или Hibernate, но тогда для двоичных кодированных данных, написанных Уилфредом Спрингером.



Ниже приведены мои находки при попытке запустить простое приложение, которое использует Preon в Android:



Preon имеет зависимость от Pecia. Pecia косвенно зависит от stax-api, который не поддерживается из коробки в Android. Это и Stax-API, используемый в Преон основной обработки? Можно ли исключить stax-api из зависимостей Preon?



Исключив pecia из зависимостей (не зная последствий), я обнаружил, что preon приносит несколько копий файла log4j. properties. Я предлагаю переместить файлы log4j. properties в файл / src / test / resources каталог на проекты preon и pecia, чтобы избежать привлечения их с классами.



Поскольку дублируются файлы log4j. properties, Android-maven-плагин не достигает цели пакета со следующим сообщением:



[INFO] java.утиль.застежка-молния.ZipException: повторяющаяся запись: log4j. properties



[информация] ------------------------------------------------------------------------



[ИНФОРМАЦИЯ] СБОЙ СБОРКИ



[информация] ------------------------------------------------------------------------



[ИНФОРМАЦИЯ] Общее время: 19.717 с



[INFO] закончено в: СР 23 марта 14: 30: 55 PST 2011



[информация] конечная память: 7M / 62M

478   2  

2 ответов:

Хорошо, я отвечу на свой собственный вопрос. В Android можно использовать фреймворк Preon. Однако Преон не работает из коробки. Мне удалось запустить пример приложения после внесения следующих изменений:
1. Я переехал все log4.свойства в преон проектов для их соответствующий /src / тест / ресурсы справочник.
2. Устраните зависимость от pecia.
3. Встроил следующие интерфейсы от pecia в preon-binding:
элемент DocumentElement.Ява
документалист.Ява
Para.Ява
Параконтенты.Ява
4. орг..codehaus.преон.код.Кодеки:
я прокомментировал следующие импортные файлы и весь связанный с ними код (те, которые не будут компилироваться после этого изменения):
импорт javax.XML.поток.XMLStreamException;
импорт nl.обломок.печия.строитель.ArticleDocument;
импорт nl.обломок.печия.строитель.база.DefaultArticleDocument;
импорт НЛ.обломок.печия.строитель.база.DefaultDocumentBuilder;
импорт nl.обломок.печия.строитель.формат html.HtmlDocumentBuilder;
импорт nl.обломок.печия.строитель.XML.StreamingXmlWriter;
импорт nl.обломок.печия.строитель.XML.XmlWriter; [1]}5. орг..codehaus.преон.кодек.ObjectCodeFactory
прокомментировано:
/ * цель.документ (кодек.getCodecDescriptor ().ссылка (CodecDescriptor.Прилагательное.Тот, ложный)); */

Предложения:

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

Уилфред, если хочешь, я могу внести свой вклад в твой проект.

Оскар.

Вы также можете взглянуть на Java Binary Block Parser, библиотека совместима с Android 2.1+

Comments

    Ничего не найдено.