玩过“愤怒的小鸟”的程序猿都应该清楚,这个游戏每一关的脚本都是用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应用程序应该没有任何问题。

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