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

时间:2014-02-20 07:31:11

标签: android frameworks android-ndk android-mediaplayer video-codecs

我想创建一个app或.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文件的重要性是什么......

3 个答案:

答案 0 :(得分:4)

根据您上面提到的内容,我假设您没有使用android ndk提供的工具链编译自定义解码器代码。我执行了你应该做的同样的任务。

First of all what you need to do is:

1)创建一个Android项目

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

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

4)在具有解码器代码的同一/jni文件夹中创建一个文件,并将文件命名为Android.mk。如果你知道linux中make文件的概念,那么同样的事情就是这里,只有语法改变。(你可以参考android ndk中的一些示例)。

5)从developers website下载Android-ndk(它还有示例示例,您可以参考它们来学习它)。

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

例如:导出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仅显示本机代码中的解码图片。

答案 1 :(得分:1)

首先需要install NDK。然后你需要为你的库提供JNI包装器。最简单的方法是查看hello-jni and two-libs sample apps以了解如何执行此操作。您会在ndk_home/samples/下找到该应用。

答案 2 :(得分:1)

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

请让我知道它是怎么回事(不确定所有这些。所以)。

如果您对我链接的教程有任何疑问,请告诉我,我已经完成了它并可以帮助它。