2010-10-07 3 views
2

Я хотел бы создать zip-файл из файлов, расположенных на SD-карте, мне удалось это сделать с помощью java, но я думаю, что результат слишком медленный, поэтому я думал о том, используя андроид NDK.android Как сделать собственное приложение zip

Мои вопросы:

Кто-нибудь знает какие-либо библиотеки C/C++, чтобы пронестись распаковать файлы, которые будут работать на Android?

Как узнать, будет ли библиотека работать на Android?

Не может ли это повлиять на производительность?

+0

Вы вряд ли увидите какие-либо изменения в производительности, если не используете что-то другое, кроме zlib. Классы java.util.zip используют это для сжатия и расширения. – fadden

ответ

0

Мне лично нравится 7zip, они открыты с исходным кодом here. Вы можете попробовать скомпилировать это в своем приложении в Android NDK. gzip - еще один хороший вариант.

+0

Большое спасибо за ответ, я попробую, даже если я новичок в C++ и ndk, и не знаю как: p – maxsap

+0

Возможно, вы захотите посмотреть в gzip, тогда я думаю, что он основан на C. – omermuhammed

1

Что касается вашего вопроса «Как узнать, будет ли библиотека работать на Android» - это зависит от зависимостей, которые имеет библиотека. Стандартный Google NDK имеет очень ограниченная поддержка C++. Если это написано в C вы, вероятно, хорошо, но если это C++ вы должны убедиться, что он использует только следующие заголовки/библиотеки:

  • Libc (библиотека C) заголовки
  • libm (математическая библиотека) заголовки
  • заголовки интерфейса JNI
  • libz (сжатие Zlib) заголовки
  • liblog (Android-каротаж) заголовка
  • OpenGL ES 1.1 и OpenGL ES 2.0 (3D графические библиотеки) заголовки
  • libjnigraphics (доступ к пиксельному буферу) (для Android 2.2 и выше).
  • минимальный набор заголовков для C++ поддержки

(от homepage)

Если вы потребность Полный C++ поддержка, вам нужно будет использовать Crystax NDK.

Будьте предупреждены - процесс перекрестной компиляции - это очень. Сложно. Если вы не очень удобны в командной строке и с вставками и компиляцией C, ссылками и т. Д., Я бы поискал альтернативное решение.

0

Учитывая, что основные файлы zip (файлы apk, файлы jar) относятся к android, я был бы очень удивлен, если функции java zip-файла не используют встроенные реализации реальных алгоритмов.

Помните, что сама SD-карта медленна по сравнению с обычными дисками.

Смежные вопросы