如何使用.so文件在android应用程序中为我的自定义视频编解码器创建.apk文件



我想创建一个应用程序或.apk文件,可以播放特定格式的视频。

为此,我编译了源文件并获取了对象文件,从对象文件中,我使用命令生成了一个共享库文件(.so)

gcc -c -fPIC hello.c -o hello.o
gcc hello.o -shared -o libhello.so 

有人能帮我在android Eclipse或android sdk 中从.so文件创建apk文件的步骤吗

创建apk文件时,java文件的重要性是什么。。。

根据您上面的内容,我认为您没有使用android ndk提供的工具链编译自定义解码器代码。我已经完成了你应该做的同样的任务。

First of all what you need to do is:

1) 创建一个Android项目

2) 在Android项目的根目录旁边,创建一个名为"jni"的文件夹

3) 将您所有的"C"代码(自定义解码器代码)转储到此文件夹中。

4) 在具有解码器代码的同一/jni文件夹中创建一个文件,并将该文件命名为Android.mk。如果你知道在linux中生成文件的概念,这里也暗示着同样的事情,只是语法发生了变化。(您可以参考androidndk附带的一些示例)。

5) 从开发人员网站下载Android-ndk(它还有一些示例,您可以参考它们来学习)。

6) 将PATH变量配置到ndk目录。

例如:export NDK_PATH=/home/myPC/android-NDK-r7b

7) cd到jni目录,然后键入命令ndk-build。如果一切顺利,你现在将生成一个.so文件,这意味着你的代码已经成功地交叉编译到android平台。

8) 现在,在/src文件夹中,您将有一个.java文件,您必须从中加载生成的.so文件。为此,您可以参考android ndk中的示例。

9) 使用JNI在您的应用程序和.so生成的之间进行接口。例如,如果您的自定义解码器被设计为使用输入文件指针来解码文件,那么相应地,您将不得不实现JNI代码。

10) 最后,当您完成了所有操作,并且解码器为您提供RGB数据时,您可以使用openGL ES仅显示本地代码中的解码图片。

您需要先安装NDK。然后您需要为您的库提供JNI包装器。最简单的方法是查看hellojni和两个libs示例应用程序,了解如何做到这一点。您将在ndk_home/samples/下找到该应用程序。

我会尝试使用ant。http://www.androidengineer.com/2010/06/using-ant-to-automate-building-android.html

请告诉我进展如何(不确定这一切)。

如果你对我链接的教程有任何问题,也让我知道,我已经完成了它,可以帮助它。

最新更新