项目地址:https://github.com/DeYangLiu/AndroidPlayer/

下载链接:

看点:

支持软键盘输入和历史记录。使用了EditText和内部存储。 这里考虑了历史记录的更新: 总共8条记录,新的放在后面,最前面被挤出,反复的忽略。

用ListView实现的简易文件浏览器。

用intent启动还有一个Activity。

ndk 调试。

移植ffmpeg 2.5和sdl2 到android的各种坑。

同一时候编译多个库

====

ln -s /mnt/OpenSource/SDL_image jni/

ln -s /mnt/OpenSource/SDL_image/showimage.c jni/src/

gvim jni/src/Android.mk

 LOCAL_SRC_FILES = ... showimage.c

 LOCAL_SHARED_LIBRARIES += SDL2_image



測试 cannot locate symbol atof

忘了SDLActivity.java里面加上SDL2_image

然后又出现cannot locate symbol "signal"



Q. how to judge android phone 32 or 64bit?

A: adb pull /system/bin/dalvikvm && file dalvikvm

当然我的手机是32bit的啦,网上有人须要用32bit的ndk的,我试了也没用。

迷茫中,下午又搜了一番,遇到[1]之后,事情出现转机。



ffmpeg4android

====

[1]下载下来不知道从哪里開始,

细致读了里面的shell脚本,明确了要下载ffmpeg源代码,

然后buildtest.sh。[1]的最初计划是和android source

tree以下编译的,可是在内地下载不了, 而u pelya 改造成能够单独编译。 

我一開始试最新的ffmpeg2.5,失败了。看到脚本里面仅仅支持到1.1,于是下载了[2]。

makefiles以下三个文件:

 Android_configure.mk -- 设置配置參数字符串

 Android_.mk -- libavutils libavcodec 等子文件夹都用到的编译參数。

 Android.mk -- 包括上面两个文件; 跟据config.mak设置APP_MODULES编译參数。

然后把ffmpeg源代码解压到$ffmpegdir,把makefiles以下的文件复制过去。

生成两个文件:

 jni/Android.mk

 jni/Application.mk

ln -s $ffmpegdir jni/ffmpeg

然后就能够编啦:

ndk-build -j8 2>&1 | tee build.log



由于SDL2本身自带一个mk,直接

ln -s $sdldir jni/SDL

在jni/Application.mk加上SDL2。



剩下还需一个jni測试入口:

cp -rf android-ndk-r10d/samples/hello-jni/jni/src jni/adapter

UI入口:

cp -rf android-ndk-r10d/samples/two-libs/src src

项目文件:

cp -rf android-ndk-r10d/samples/two-libs/{res, AndroidManifest.xml  default.properties}

git代码已使用静态链接。感谢[1]的指引。



ref


====

[1] git://git.code.sf.net/u/pelya/ffmpeg4android 

[2] http://ffmpeg.org/releases/ffmpeg-1.1.tar.bz2

ffplay2 android 版正式公布的更多相关文章

  1. F# 4.6 预览版正式公布

    1月24日,F# 4.6 预览版正式公布,与以往一样,新版本的设计与开发过程是整个 F# 开源社区共同努力的结果,这次更新的具体讨论内容可以通过下面两个链接来查看: F# 4.6 意见征求记录 FSh ...

  2. Android P正式版即将到来:后台应用保活、消息推送的真正噩梦

    1.前言 对于广大Android开发者来说,Android O(即Android 8.0)还没玩热,Andriod P(即Andriod 9.0)又要来了.   下图上谷歌官方公布的Android P ...

  3. Android O 正式版新功能

    ref: Android O新特性和行为变更总结zzhttp://www.cnblogs.com/bluestorm/p/7148134.html Android O正式版带来了诸多新功能,如Tens ...

  4. 恩布900手机客服,安卓版本号Entboost Android 1.0 正式公布

    恩布900手机客服,安卓版本号Entboost Android 1.0正式公布,支持一行代码在安卓手机实如今线客服的功能,支持文本.表情,图片,语音和离线消息等. ENTBOOST是跨平台.跨应用的实 ...

  5. Android 版的多合一Office应用也正式向iOS开放了

    导读 在 Android 版的多合一 Office 应用「偷跑」不久后(官方证实上线时间比计划要早),为 iOS 准备的版本现在终于也结束 beta 测试正式上线了. 和只提供「有限」平板支持的 An ...

  6. 微软正式公布Visual Studio 2013 Update 3 (2013.3) RTM

     昨天微软的Visual Studio 2013 Update 3(Visual Studio 2013.3)正式公布(RTM)了,做为微软认证金牌合作的葡萄城控件,我们组织力量第一时间进行翻译. ...

  7. Android版xx助手之天天酷跑外挂具体分析

    Android版xx助手之天天酷跑外挂具体分析 图/文      莫灰灰 背景 近些年来,移动互联网的大肆崛起,潜移默化中影响着人们的生活和工作习惯.当腾讯的微信平台接入手机游戏之后,移动端的游戏也開 ...

  8. Jexus web server V5.6.1正式公布

    Jexus v5.6.1已经正式公布,下载和技术支持站点是 www.linuxdot.net. 该版开发时间历时11个月,后期直接在大流量生产环境中进行调试和优化,其正确性.稳定性.大并发承载能力.A ...

  9. 开发腾讯移动游戏平台SDK Android版Ane扩展 总结

    本文记录了在开发 腾讯移动游戏平台SDK(MSDK) Android版Ane扩展 过程中所遇到的问题和相关解决方式 问题一:编译报错:Unable to resolve target 'android ...

随机推荐

  1. 老斜两宗事-七层代理模式还是IP层VPN

    1.七层代理模式还是IP层VPN 非常多人会问,我究竟是使用代理模式呢,还是使用VPN模式,假设我想数据在中间不安全的链路上实现加密保护的话.这个问题有一个背景.那就是,你想保护你的数据,能够使用VP ...

  2. 跟着鬼哥学so改动,一,准备篇

    图/文 听鬼哥说故事 闲话少说,so的改动,重要性大家都知道,这里从头编写so文件,分析so文件,改动so文件,打算做一个系列的教程,当然,主要是看时间同意. android的sdk配置以及ndk环境 ...

  3. 重操JS旧业第六弹:基本类型包装

    在前面已经知道js中的类型有boolean,string,number,undefined,function,object,其中boolean,number,string为值类型.所谓的基本类型包装, ...

  4. 新发现的Cyberduck(映射网盘)和zsuncloud(硬件产品很新潮),群辉nas的确好用(购买链接)

    https://cyberduck.io/?l=en http://www.zsuncloud.com/ 群辉nas的确好用啊在哪里可以买到?官网 淘宝也可以自己做黑群晖 先用xpenoboot is ...

  5. 跨平台编程中的宏定义(__LINE__和__DATE__极其有用)

    要用师兄的计算机算东西,无赖那上面是WINDOWS的系统,为了写出能够跨平台的代码,需要在代码中用到宏来选择编译.一种方法是自己在Makefile里面定义好该平台对应的宏.实际上,编译器基本上都会有一 ...

  6. css3 animation动画事件

    当使用css3时,会遇到利用@keyframes来定义动画事件,利用以下3个事件,能够捕捉当前元素的动画: AnimationEnd //动画结束时 AnimationStart  //动画開始 An ...

  7. java内存模型与线程(转) good

    java内存模型与线程 参考 http://baike.baidu.com/view/8657411.htm http://developer.51cto.com/art/201309/410971_ ...

  8. 部署Spring Boot应用

    在开发Spring Boot应用的过程中,Spring Boot直接执行public static void main()函数并启动一个内嵌的应用服务器(取决于类路径上的以来是Tomcat还是jett ...

  9. Node-Webkit作者王文睿:桌面应用的全新开发方式

    摘要:最近两年,Node.js技术越来越火,基于它所开发的应用也纷纷出现在大家面前,其中Node-Webkit就是这样的一个开源框架,它允许开发者使用Web技术开发桌面应用. Node-Webkit是 ...

  10. 攻略三战的完美体验3Castle Fantisia阿兰·梅希亚战争艾伦西战记它包含重做版本(这是新的艾伦·梅希亚大战)

    (城堡幻想曲3,纠正大家个错误哦,不是圣魔大战3,圣魔大战是城堡幻想曲2,圣魔大战不是个系列,艾伦西亚战记==艾伦希亚战记,一个游戏日文名:タイトル キャッスルファンタジア -エレンシア戦記-リニュー ...