其实这是蛮久之前写的, 从网易博客拷过来的,嘿嘿,自己写了东西,总喜欢多多分享~
不是反话吖,是真的开心~标题改日再改回正常的~
这两天把我折腾的~
老大让我把lua弄到android里,我兴奋吧,网上根本找不到资料~
好吧,我认了,找英文的...
一个字一个字地看,一句句地理解。
终于理解完整篇英文了...结果发现不是我要的资料...
然后不断这么重复着~
我很想说些粗口啥的~但是我不会这么做的~
幸好现在大家发明了很优雅的粗口~于是...
你娘亲的~
呼~解气~~~~
好了,这是我第二次写教程~为了我们吃力不讨好的敲代码的同行~
因为我在半个小时前解决了这个问题了~多亏了以下这篇文章:
http://www.ideaex.net/html/Article/2011/07/27/260.html
说了这么久,先介绍一下我的问题:
在android开发中使用lua脚本,编译时没有问题,但是apk安装到手机后会报错。
很美丽的一个错误:大概是说,找不到luajava1-1的lib库文件。
我现在写的教程是以这篇文章为准的~因为上面那篇文章的作者是高手,所以很多细节问题都没有说~
那就,由木头我来补充吧~
好了,废话结束咯~开始~!
1. 先下载这个文件,别怕,100kb不到的大小:http://115.com/file/bhzojo8c#
2. OK,文件下载好了?(可能链接会过期,过期了就在评论里留言,我会再上传一次的) 文件里有两个文件夹: libs和org
3. 先别问是什么,我想先让你把程序跑起来,然后我再慢慢解释。
4. 好了,打开你熟悉的eclipse,新建一个android项目(嘿嘿,别告诉我你不懂,不懂的先学学android开发的基础),我把项目命名为LuaDemo。
![小心咯,这次我是开心得想骂人~有很多不良文字~ - 木头 - SI6](http://img.ph.126.net/ZwgWUOW5ofYAks-xZsI0tA==/1049620188170891131.jpg)
5. 好了吧,现在你只需用做两步。
6. 第一步,把刚刚下载的libs文件夹复制到项目的根目录。
7. 第二步,把刚刚下载的org文件夹复制到项目的src目录,看看现在的目录结构:
![小心咯,这次我是开心得想骂人~有很多不良文字~ - 木头 - SI6](http://img.ph.126.net/FKJj2wNd-UDb7aE5DiszxA==/1022317115429957749.jpg)
8. 啊,不好意思,还有第三步,嘿嘿,就是写一个lua的android应用,测试一下下~
9. 怎么写?我现在还不知道~lua脚本我今天才开始学的~怎么办?直接新建一个android的Activity类,把下面的代码拷到onCreate函数里吧:
package mutou.lua.demo; import org.keplerproject.luajava.LuaState; import org.keplerproject.luajava.LuaStateFactory; import android.app.Activity; import android.os.Bundle; import android.widget.TextView; public class LuaDemoActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { LuaState L = LuaStateFactory.newLuaState(); L.openLibs(); L.LdoString("text = 'Hello Android, I am Lua4.'"); L.getGlobal("text"); String text = L.toString(-1); super.onCreate(savedInstanceState); TextView tv = new TextView(this); tv.setText(text); setContentView(tv); } }好了,连接好你的手机,运行程序~准备享受胜利的喜悦吧~
以上是参照了那篇文章写出来的,所以不算原创~
至于为什么要这么做,请大家去看看那篇原文,说得很清楚了。
原文里要下载很多工具,其实目的就是生成一个os库文件。
而我发现,我很不厚道地发现,这个库文件是通用的,不需要每个android应用都生成一次~
所以,您只需把那不到100kb的文件下载了,就可以解决问题了(原文里可是要下载差不多2G的文件呢~)~
然后,还有那个org文件夹,里面是luajava的文件,有了它们,才能使用一些lua提供的类。
喂~~嘿嘿,我很开心啊~~可是,我只能和敲代码的你们分享~
希望能帮到未来需要我这篇文章的人。