Android NDK使用常见错误

By: 海市蜃楼 | In: Android开发

8 2010

Andorid NDK使用简要的流程【来源于Android NDK文档中的 OVERVIEW.txt】

Here’s a very rough overview of how you can develop native code with the Android NDK:

1/ Run   build/host-setup.sh to configure the NDK
2/ Place  your native sources under $PROJECT/jni/…
3/ Write  $PROJECT/jni/Android.mk  to describe your sources to the NDK build system
4/ Write  apps/<myapp>/Application.mk to describe your application and the native sources it needs to the NDK build system
5/ Build  your native code by running “make APP=<myapp> ” in the top-level NDK directory.

The last step will copy, in case of success, the stripped shared libraries your application needs to your application’s root project directory. You will then need to generate your final .apk through the usual means.

按照上述步骤,我们说明在每一步中可能存在的错误【第一步,我们就不在这里详细说了,网上有很多不错的文章】。

常见错误说明:

1、make:*** No rule specified and no make file found. Stop.

1
错误的原因估计是(cat : Linux命令,显示文件的内容):工程名与Aplication.mk中的APP_MOUDLES不一致。

2 Read the rest of this entry »

将ffmpeg部分移植到Android

By: 海市蜃楼 | In: Android开发

20 2010

ffmpeg是一个强大的多媒体平台,详细的信息见ffmpeg.org,做视频开发的估计都比较熟悉这个平台。对于ffmpeg的学习一直也是断断续续的,从最开始的看源代码,到学习其命令行工具,再到学习其源代码,再次回到了起点,但是这次对ffmpeg的学习是更加的深入理解。

一直想在Android平台的多媒体开发上做些事情,最近总算可以静下心来开始做ffmpeg的部分在Android平台使用,就从我最熟悉的FLV解码开始,在Android平台上实现FLV解码。之所以选择FLV是因为我对FLV格式比较熟悉,做起来会容易很多。

前段时间看到Flash已经支持Android平台,但是我估计这个路还很长,毕竟Flash已经发展了那么多年,即使支持也可能从低版本慢慢实现,初始版本应该与windows平台的版本功能上有很大的差异。

目前我也在深入学习ffmpeg,如果有这个方面共同爱好的人,可以给我发邮件wangzongjunvip@163.com,尤其期待在武汉的,可以业余时间多多交流。从现在开始,我的目标就是:在Android平台上使用ffmpeg实现FLV 的解码,欢迎与大家交流!!!

Matrix学习——对称变换(反射)

By: 海市蜃楼 | In: Android开发

29 2010

什么是对称变换?具体的理论就不详细说明了,图像的镜像就是对称变换中的一种。

Symmetry Read the rest of this entry »

Matrix学习——错切变换

By: 海市蜃楼 | In: Android开发

28 2010

什么是图像的错切变换(Shear transformation)?我们还是直接看图片错切变换后是的效果:

Shear-Transformation Read the rest of this entry »

Matrix学习——Preconcats or Postconcats?

By: 海市蜃楼 | In: Android开发

28 2010

Preconcats matrix or  Postconcats matrix?

从最基本的高等数学开始,Matrix的基本操作包括:+、*。Matrix的乘法不满足交换律,也就是说A*B ≠B*A。

还有2种常见的矩阵:

Identity-Inverse

有了上面的基础,下面我们开始进入主题。由于矩阵不满足交换律,所以用矩阵B乘以矩阵A,需要考虑是左乘(B*A),还是右乘(A*B)。在Android的android.graphics.Matrix中为我们提供了类似的方法,也就是我们本篇幅要说明的Preconcats matrix 与 Postconcats  matrix。下面我们还是通过具体的例子还说明: Read the rest of this entry »

Matrix学习——图像的复合变化

By: 海市蜃楼 | In: Android开发

21 2010

Matrix学习——基础知识篇幅中,我们留下一个话题:如果图像围绕着某个点P(a,b)旋转,则先要将坐标系平移到该点,再进行旋转,然后将旋转后的图像平移回到原来的坐标原点。

我们需要3步:

  1. 平移——将坐标系平移到点P(a,b);
  2. 旋转——以原点为中心旋转图像;
  3. 平移——将旋转后的图像平移回到原来的坐标原点;

相比较前面说的图像的几何变化(基本的图像几何变化),这里需要平移——旋转——平移,这种需要多种图像的几何变化就叫做图像的复合变化

设对给定的图像依次进行了基本变化F1、F2、F3…..、Fn,它们的变化矩阵分别为T1、T2、T3…..、Tn,图像复合变化的矩阵T可以表示为:T = TnTn-1…T1。 Read the rest of this entry »

Matrix学习——如何使用Matrix

By: 海市蜃楼 | In: Android开发

19 2010

上一篇幅  Matrix学习——基础知识,从高等数学方面给大家介绍了Matrix,本篇幅我们就结合Android 中的android.graphics.Matrix来具体说明,还记得我们前面说的图像旋转的矩阵:

Rotate

从最简单的旋转90度的是:

Rotate-90-Matrix Read the rest of this entry »

Matrix学习——基础知识

By: 海市蜃楼 | In: Android开发

14 2010

以前在线性代数中学习了矩阵,对矩阵的基本运算有一些了解,前段时间在使用GDI+的时候再次学习如何使用矩阵来变化图像,看了之后在这里总结说明。

首先大家看看下面这个3 x 3的矩阵,这个矩阵被分割成4部分。为什么分割成4部分,在后面详细说明。

3 x 3 Read the rest of this entry »

一直想在Android上做点什么,但是却一直没有做。工作中主要从事与视频解码方面的(C++),对Directshow 、FFmpeg、AVS(AviSynth)、DVDAuthor等有一些了解,在Android视频方面原本对Google有很大的期待,但是Android在视频方面的确做得很不好(Google提供了对FLV在线浏览功能,代码中却没有提供相关的接口),最为重要的是Android在视频方面没有什么可扩展的,想在Android视频方面做点事情,难度的确很大。

对Android的视频开发有所期待的人们,大家能够一起做个较为简单的可以扩展的解码器框架,让我们从最基本的FLV 解码开始。有这方面的兴趣的可以与我们联系,或者提供一些Java视频开发方面的一些资料(这对我们来说也是很大的帮助),例如:Java视频开源库,我们将在这里将所有的这些资料共享。

目前我们考虑的是调用C++底层的解码器,期待大家的共同参与。

简要实现前面的设计后,我们制作出来了如下一个简单的游戏,游戏界面如下图所示:

游戏运行
同时我们也发现,游戏设计中有很多没有考虑详细的地方,在这里列举出来逐步完善,与大家分享:

  1. 游戏资源的定义:如何定义Sprite,如何管理各种资源;
  2. 实现界面横竖切换;
  3. 实现游戏的保存;

Read the rest of this entry »

About mo-Android

这里有一群热爱开发的人,我们的文章以原创、翻译为主,包含了我们对Android的认识,对Android的研究,以及一些开发心得和感想,如果 你喜欢我们的站点,喜欢我们的文章,欢迎拍砖,欢迎交流。希望新版的mo-Android能够为你带来更好的体验。

Calendar

2010年七月
« 六    
 1234
567891011
12131415161718
19202122232425
262728293031