玩过“愤怒的小鸟”的程序猿都应该清楚,这个游戏每一关的脚本都是用lua来写的。你如果不信就下载一个angrybird.apk文件解压后查看它的文件结构。就会发现,这个文件中多了一个lib文件夹,里面有两个文件夹,这两个文件夹中包含了分别有一个.so的文件,熟悉Linux的人应该知道linux下的动态链接库(和windows下的.dll动态链接库类似)。这就是为什么Android是基于linux的证明之一。下面简单的介绍一下,在Android中嵌入lua的步骤。

1,下载lua5.1.4源码和luajava源码。

2,用android ndk编译 lua源码和luajava源码。生成一个.so文件。(具体步骤可以参考亚历山大兄弟博客园,再此不加赘述)

3,按照一下步骤:

1,将lib文件夹直接拷贝到你新建工程的根目录下。

2,luajava下的org文件夹拷贝到工程src目录下。

然后在你的android工程目录下新建一个.java的源文件

输入以下代码(仅供参考)

==================以下代码==================

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

TextView tv =(TextView)findViewById(R.id.txt);

LuaState L = LuaStateFactory.newLuaState(); //打开Lua

L.openLibs(); //打开标准库

L.LdoString("text = 'Hello Android, I am Lua.'");

L.getGlobal("text");

String text = L.toString(-1);

tv.setText(text);

}

==================以上代码==================

当然,你还需要在你的main.xml中写一个TextView id 为txt。

按照以上的步骤,运行一个简单的luaAndroid应用程序应该没有任何问题。

简单的贴几个图看看效果吧。

更多相关文章

  1. Android源码下载之《Android新闻客户端源码》
  2. Android OpenGL入门示例:绘制三角形和正方形 (附完整源码)
  3. 很容易理解的Android AsyncTask源码与工作原理分析
  4. Android ListView工作原理完全解析,带你从源码的角度彻底理解
  5. Android屏幕刷新——源码分析

随机推荐

  1. Android = Java ?
  2. ch020 Android SQLite3(第一部分)
  3. Android(安卓)getDecorView用途——屏幕
  4. Android 屏幕适配工具类
  5. Android调用Restfull
  6. android中的dumpsys命令
  7. android中搜索关键字高亮
  8. android之shape使用
  9. Android名称、版本和API level的对应关系
  10. Android中的Toast提示