1.打开 android studio
2.引入luaj-jse-3.0.1.jar包(百度自行下载)
3.新建assets文件夹
4.在assets文件夹下新建一个 main.lua文件,内容如下

function test(str)
    print(str)
    return 'atomic'
end

5.MainActivity.java 内容如下

package com.atomic.test;

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import org.luaj.vm2.Globals;
import org.luaj.vm2.LuaValue;
import org.luaj.vm2.lib.ResourceFinder;
import org.luaj.vm2.lib.jse.JsePlatform;
import java.io.InputStream;

public class MainActivity extends AppCompatActivity implements ResourceFinder {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Globals globals = JsePlatform.standardGlobals();
        globals.finder=this;
        globals.loadfile("main.lua").call(); //先加载lua文件
        //获取带参函数test
        LuaValue luaValue=globals.get(LuaValue.valueOf("test"));
        //执行test方法,传入String类型的参数参数
        String data=luaValue.call(LuaValue.valueOf("this is java")).toString();
        Log.i("a10",data);
    }

	//重新构建findResource
    @Override
    public InputStream findResource(String name){
        try {
            return getBaseContext().getAssets().open(name);
        }catch (Exception e){
            e.printStackTrace();
            return null;
        }
    }
}

5.运行程序

Logo

智屏生态联盟致力于大屏生态发展,利用大屏快应用技术降低开发者开发、发布大屏应用门槛

更多推荐