Как использовать.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

Пожалуйста, дайте мне знать, как это происходит (не уверен во всем этом. Так что вещь).

Если у вас есть какие-либо проблемы с учебником, который я связал, дайте мне знать об этом, я прошел через это и мог бы помочь с этим.

Другие вопросы по тегам