宋体、目录NDK下 将Platinum SDK 编译成so库 (android upnp)by小雨

摘要:
应用命令echo$ANDROID_ NDK_ ROOT检查它是否无效。如果完整的导出路径准确,则表示环境变量设置为OK<4>。此步骤是可选的。应用cd命令进入androidNDK/samples/hello-jni目录,然后应用命令sudo$ANDROID_ NDK_如果ROOT/ndkbuild在翻译和编辑中成功,将生成so库,这表明NDK可以正常工作。设置好Ndk环境后,可以对Platinumlib进行翻译和编辑。<1>在androidNDK目录Mk文件下生成out/config,输入内容如下:HOST_TAG:=linux-x86,然后保存、保存、发布并返回<2>进入Platinum目录并点击命令sconstarget=arm android linux build_如果config=Release正常,则将丢失:scons:donebuildingtargets。

每日一贴,今天的容内关键字为宋体、目录-

    Platinum UPnP SDK 是一个跨平台的C++库,利用该库,可以很易容就构建出DLNA/UPnP控制点(DLNA/UPnP Control Point)和DLNA/UPnP备设(DLNA/UPnP Device),其中括包有UPnP AV Media Server, Media Render & Control Point的例子。它可以在Windows, Mac OSX, Linux, iPhone, Android, Symbian等多种C语言发开平台上译编通过且运行 

    官方网址:http://www.plutinosoft.com/platinum

    SDK载下址地:http://sourceforge.net/projects/platinum/

    载下后失掉一个PlatinumKit-1-0-4-2_99100e_aab601.zip

    本版信息为

    Platinum Kit Version 1-0-4-2

    -----------------------------

    Neptune:  aab601

    Platinum:  99100e

    解压开来先悉熟下该包的容内

    查看Platinum目录下的ReadMe.txt

    宋体、目录NDK下 将Platinum SDK 编译成so库 (android upnp)by小雨第1张

    该包包含了这两个要主的库

    进入Platinum\Build\Targets\x86-microsoft-win32-vs2008目录

    打开PlatinumManaged.sln解决方案可以看到程工的关联

    NeptunePlatinum都是静态链接库,后续译编so库会用到

    Platinum.Managed是动态链接库,时暂不必管

    看看给android调用的so库如何译编

    宋体、目录NDK下 将Platinum SDK 编译成so库 (android upnp)by小雨第2张

    首先要载下ndk件组包

    网址:http://developer.android.com/tools/sdk/ndk/index.html#Installing

    这里我以ubuntun 64位境环为例,载下android-ndk-r8e-linux-x86_64.tar.bz2 

    在ubuntun下解压后配置ANDROID_NDK_ROOT境环变量

    <1>应用命令vi ~/.bashrc 打开境环变量设置,并在文件末端添加:

    ANDROID_NDK_ROOT=你的ndk根目录绝对路径

    export ANDROID_NDK_ROOT

    <2>应用命令source  ~/.bashrc使境环变量设置失效。

    <3>应用命令echo $ANDROID_NDK_ROOT查看是不是失效,如果出输完整路径准确,说明境环变量设置ok.

    <4>此步可选,应用cd命令进入到androidNDK/samples/hello-jni进入例子目录,然后应用命令:sudo $ANDROID_NDK_ROOT/ndk-build如果译编胜利,则会生成so库,表现NDK可以常正Work

    Ndk境环搭好后就可以译编Platinum lib了

    <1>androidNDK目录面下生成out/config.mk文件,里头输入容内如下:

    HOST_TAG:=linux-x86

    然后存保出退;

    <2>进入Platinum目录

    打命令scons target=arm-android-linux build_config=Release

    (请保确scons工具已安装)

    常正的话最后会出输:scons: done building targets.表现译编完成了。

    在Platinum\Build\Targets\arm-android-linux\Release目录下生成关相*.a

    不带后缀的是c可执行文件

    <3>进入到/PlatinumKit/Platinum/Source/Platform/Android/module/platinum/jni目录面下,

    注意:这里要需先修改该jni目录下的Android.mk文件,将LOCAL_LDLIBS += -laxTls为改LOCAL_LDLIBS += -laxTLS,要主是后面生成库的名字是-laxTLS而不是-laxTls

    应用命令:$ANDROID_NDK_ROOT/ndk-build NDK_DEBUG=0

    译编之后会出输如下信息,表现生成SO库胜利。

    SharedLibrary  : libplatinum-jni.so

    Install        : libplatinum-jni.so => libs/armeabi/libplatinum-jni.so

    进入到目录PlatinumKit/Platinum/Source/Platform/Android/module/platinum/lib目录面下可以看到生成so.

    最后是试测该so

    将Platinum\Source\Platform\Android下的两个工厂导入eclipse

    一个是lib程工,一个是apk程工,立建引用关系,然后在platinum程工下立建libs/armeabi目录并将后面编好的so库放进去

    宋体、目录NDK下 将Platinum SDK 编译成so库 (android upnp)by小雨第3张

    运行sample-upnp

    

    宋体、目录NDK下 将Platinum SDK 编译成so库 (android upnp)by小雨第4张

    示例比拟粗拙,start后备设并不能被外界现发,要需自己新重封装,体具用法可参照

    Platinum\Source\Tests\MediaRenderer下的MediaRendererTest.cpp文件

    可在PlatinumManaged.sln解决方案下将MediaRendererTest程工导入,然后配置项目依附项把那两个静态库添进来,在window下将MediaRendererTest跑起来可被外界现发

    至此一个单简的platinumso库封装和调用就实现了

    至于DMR,DMS以及DMC等实现就要需自己先摸透该架框的应用方法

    要主涉及到这三个类

    PLT_FileMediaServer:封装实现了DMS
PLT_MicroMediaController:不是库里的类,是其一个例子的类,继承了PLT_SyncMediaBrowserPLT_MediaController,即实现了DMC
PLT_MediaRenderer:实现了DMR 

    另外里头多许示例序程括包Platinum.Managed都是值得参考鉴戒的

    好了Platinum UPnP SDK的级初应用教程到此结束

    预知后事如何,且听下回分解

    more brilliant,Please pay attention to my CSDN blog -->http://blog.csdn.net/geniuseoe2012

文章结束给大家分享下程序员的一些笑话语录: 看到有人回帖“不顶不是中国人”,他的本意是想让帖子沉了。

免责声明:文章转载自《宋体、目录NDK下 将Platinum SDK 编译成so库 (android upnp)by小雨》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇MongoDB分页的Java实现和分页需求的思考tcpdump详细用法下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

NDK开发之ndk-build命令详解

毫无疑问,通过执行ndk-build脚本启动android ndk构建系统。 默认情况下,ndk-build脚本在工程的主目录中执行,如: 我们可以用使用-C参数改变上述行为,-C指定工程的目录,这样我们就可以在任何目录执行ndk-build脚本了。 如果源文件没有被修改,那么android ndk构建系统不会重新构建目标,这时我们可以使用参数-B来...

windows下react-native搭建环境

第一步:安装Java 1.下载JDK,选择适应自己的机型;官网地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 2.配置环境,问度娘:http://jingyan.baidu.com/article/f96699bb8b38e089...

使用Eclipse开发Java应用并部署到SAP云平台SCP上去

1. 首先根据这个链接配置好Eclipse。 确保SAP Cloud Platform Tools for Java正确安装。 确保neo SDK的路径配置正确: 我使用的是下图这个SDK:neo-java-web-sdk-3.51.14.zip 将我的github 项目下载到本地, 导入到Eclipse去,确保本地能够运行成功。 然后新建一个服务...

SDK接入(3)之iOS内支付(InApp Purchase)接入

SDK接入(3)之iOS内支付(In-App Purchase)接入 继整理了Android平台的SDK接入过程。再来分享下iOS平台的内支付(In-App Purchase)接入,作为笔者在游戏开发中实际遇到的,觉得有必要分享下,同时也当作是对工作的总结,就放在该SDK接入系列文章中了。 作者:AlphaGL。版权所有,欢迎保留原文链接进行转载 作为S...

《ArcGIS Runtime SDK for Android开发笔记》——离在线一体化技术:离线矢量数据下载

1、前言 1.1、环境准备: ArcGIS for Desktop 10.4.1(10.2.1以上版本即可) ArcGIS for Server 10.4.1 (10.2.1以上版本即可) PostgreSQL、Microsoft SQL Server、或 Oracle 设置企业级地理数据库。 1.2、发布具有同步能力的FeatureService服...

Android.mk 文件语法详解

0. Android.mk简介: Android.mk文件用来告知NDK Build 系统关于Source的信息。 Android.mk将是GNU Makefile的一部分,且将被Build System解析一次或多次。 所以,请尽量少的在Android.mk中声明变量,也不要假定任何东西不会在解析过程中定义。 Android.mk文件语法允许我们将Sou...