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
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