Как использовать.so файл для создания файла.apk в приложении Android для моего пользовательского видеокодека
Я хочу создать приложение или файл.apk, который может воспроизводить видео в определенном формате.
Для этого я скомпилировал мои исходные файлы и взятые объектные файлы, из объектных файлов я сгенерировал один файл общей библиотеки (.so) с помощью команды
gcc -c -fPIC hello.c -o hello.o
gcc hello.o -shared -o libhello.so
Может кто-нибудь, пожалуйста, помогите мне с шагами по созданию файла apk из.so файла в Android Eclipse или Android SDK
что такое java файлы при создании apk файла...
3 ответа
Из того, что вы подняли выше, я предполагаю, что вы не компилируете свой собственный код декодера, используя цепочки инструментов, предоставляемые android ndk. Я выполнил ту же задачу, которую вы должны сделать.
First of all what you need to do is:
1) Создать проект Android
2) В корневой папке проекта Android создайте папку с именем "jni"
3) Скопируйте весь ваш код "C" (код пользовательских декодеров) в эту папку.
4) Создать файл в том же /jni
папка с кодом декодера и именем файла Android.mk
, Если вам известна концепция создания файлов в linux, то же самое подразумевается здесь, только изменения синтаксиса (вы можете обратиться к некоторым примерам примеров, которые идут вместе с android ndk).
5) Скачать Android-ndk
с сайта разработчиков (на нем также есть примеры примеров, которые вы можете использовать, чтобы узнать их).
6) Настройте переменную PATH в каталог ndk.
Например: экспорт NDK_PATH = / home / myPC / android-ndk-r7b
7) Перейдите в каталог jni и введите команду ndk-build
, Если все идет хорошо, теперь у вас будет сгенерирован файл.so, что означает, что ваш код был успешно кросс-скомпилирован на платформу Android.
8) Теперь в папке /src у вас будет файл.java, из которого вам нужно будет загрузить сгенерированный файл.so. Для этого вы можете сослаться на примеры примеров в Android ndk.
9) Используйте JNI для взаимодействия между вашим приложением и сгенерированным.so. Например, если ваш пользовательский декодер предназначен для получения указателя входного файла для декодирования файла, соответственно вам придется реализовать код JNI.
10) Наконец, когда вы все сделали, и если ваш декодер предоставляет вам данные RGB, вы можете использовать openGL ES для отображения декодированных изображений только из собственного кода.
Вам нужно сначала установить NDK. Затем вам нужно предоставить JNI-оболочку для вашей библиотеки. Самый простой способ - взглянуть на примеры приложений hello-jni и two-libs, чтобы узнать, как это сделать. Вы найдете приложение под ndk_home/samples/
,
Я бы попробовал использовать муравья. http://www.androidengineer.com/2010/06/using-ant-to-automate-building-android.html
Пожалуйста, дайте мне знать, как это происходит (не уверен во всем этом. Так что вещь).
Если у вас есть какие-либо проблемы с учебником, который я связал, дайте мне знать об этом, я прошел через это и мог бы помочь с этим.