返回列表 发帖

[原创经验] 移植最新eclear 2.1 android系列之mp3播放器调试

[原创经验] 移植最新eclear 2.1 android系列之mp3播放器调试

移植最新eclear 2.1 android系列之mp3播放器调试

嵌入式开发联盟
作者:osboy
email:  
mcuos.com@gmail.com

前面调试通过了sd自动mount,alsa audio声音,bash添加等等简单的工作后,作为android播放个mp3是最基本的功能了吧,于是乎兴冲冲的点击mp3播放器,结果提示:

The process com.android.Music has stopped unexpectedly. Please try again.

皱眉头啊,这么不顺呢,没有办法调试吧。

先google一下发现一个帖子对我的启发很大,引用如下

Hello Community,

We've all seen this error: "The application <task name> has stopped unexpectedly. Please try again." With the button: "Force close". As we all know this is not a lot of information about the error. That's why there is a loggin system build in in to android. To the log Android outputs all information it has about the error, such as the java stacktrace. To access this log use this command (in the command-line interface):

Code:
adb logcat


Or look in the DDMS perspective in Eclipse for the LogCat.

You can even filter the Log so you only get your own errors (though this will not give you the stacktrace).


于是使用logcat命令,然后在点击mp3播放器后,果真show出一堆东西,头大,乱其八糟的什么玩应啊,但是在一堆信息中立刻引起我注意的是什么drawable-finger/buttonbarback......之类的一句话,看上去是和一些画图资源res有关系,于是找到Music的程序包,然后进去,到这个drawable-finger目录下面,发现了buttonbarbackground.xml这个文件,打开显示如下:


<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:state_focused="true"
        android:drawable="@drawable/buttonbar_focused" />
    <item
        android:state_pressed="true"
        android:drawable="@drawable/buttonbar_pressed" />
    <item
        android:state_selected="true"
        android:drawable="@drawable/buttonbar_active" />
    <item
        android:state_selected="false"
        android:drawable="@drawable/buttonbar_inactive" />
</selector>


经过了一番仔细对android程序的res资源的分析,发现这个错误也很常见啊,就是这些引用的图片资源找不到啊。
我移植的这个版本用到了drawable-mdpi-finger目录而不是drawable-hdpi-finger目录,具体为什么请参考本站文章:

http://mcuos.com/thread-4648-1-1.html

于是乎,osboy我对比了一下这两个目录文件,还别说就差上面这几个png文件在drawable-mdpi-finger目录没有,于是赶紧拷贝过来,进到Music程序的目录,mm一下似乎没编译么,没办法删除android-porting-to-avlite\out\target\common\obj\APPS\Music_intermediates这个目录重新再mm,好了生成了Music.apk,通过adb install进去,测试,mp3播放器能够正常打开,赶紧找来我给N个客户做测试都不变的一首mp3,talaitingwodeyanchanghui.mp3,插入sd卡,自动mount,然后重新打开mp3播放器,哈哈,正确识别这首mp3文件,点击播放,ok,悦耳啊,声音小点,别吵着别人。

osboy总结:世上无难事,只怕有google。
下一步搞搞vedio播放个电影,或者搞搞无线上网?要做的事情还真多,不过还是感谢google,Linux的大牛们,我们这些做底层移植的做的只是个体力活。
分享到: QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友

呵呵,顶啊。
最近忙于项目,上班又不能上网,搞得都没时间玩新玩意了,下个月完code就好啦。

TOP

返回列表
网页右侧QQ悬浮滚动在线客服
网页右侧QQ悬浮滚动在线客服