android Studio 配置LUA 开发环境

摘要:
Android Studio配置LUA开发环境关于Android LUA数据Android如何调用LUA?Androidlua教程Lua官方网站Lua语言解释Lua5.1参考手册Androidlua热修复引用Daniel的原话:Android调用Lua/Lua调用Android代码以在Android项目中使用Lua,这需要两个步骤:1.加载Lua脚本解析引擎。˃˃//条目被屏蔽,仅作为lib˂!
android Studio 配置 LUA 开发环境

关于Android LUA资料

android如何调用lua?
Android lua 教程
Lua官网
lua语言解释
Lua 5.1 参考手册
Android Lua热修复

  1. 引诉大牛的原话:

Android 调用 Lua /Lua 调用 Android 代码

在Android项目中使用Lua,需要两个步骤:

1、加载Lua脚本解析引擎。
2、以Native API方式调用引擎接口

直接以JNI方式调用Lua解析引擎的接口十分麻烦,开源项目
LuaJava)对这些JNI接口进行了很好的封装,它是一个包含了LuaJava的Android平台的Lua解析器,它提供一系列映射到Lua C实现函数的Java接口。

1.获取LuaJava 工程,引入到你的Android Studio中,并将其设为Library工程

2.将Lua解析器相关的C代码和 LuaJava的C代码打包成so文件

一. 将androLua 以moudle方式引入到Android studio 的Project工作区中

此时需要保证你的Android studio 的NDK开发环境已经配置完成,关于如何配置NDK,教程请移步MAC NDK环境配置

二. 修改自动生成的androLua 的build.gradle文件配置如下 主要将 apply plugin: ‘com.android.application’ 替换为 apply plugin: ‘com.android.library’
屏幕快照 2015-12-25 上午12.15.20这里写图片描述

如果编译 报错:请修改jni/luajava/luajava.c文件 :将导入头文件的路径修改如下

    #include <jni.h>
    #include <stdio.h>
    #include <stdlib.h>
    #include "../lua/lua.h"
    #include "../lua/lualib.h"
    #include "../lua/lauxlib.h"
    #include "../lua/lstate.h"
    #include "../lua/lauxlib.h"
    #include "../lua/lualib.h"

为了照顾全平台的兼容性建议在jni目录下新建Application.mk文件 写入内容为:

APP_ABI := all

三.我的版本下我需要将 androLua的AndroidMainfest文件的

    <?xml version="1.0" encoding="utf-8"?>
<manifest android:versionCode="1" android:versionName="1.0" package="sk.kottman.androlua" xmlns:android="http://schemas.android.com/apk/res/android">
  <uses-sdk android:minSdkVersion="4" />
  <uses-permission android:name="android.permission.INTERNET"/>
  <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
  <uses-permission android:name="android.permission.BLUETOOTH"/>
  <uses-permission android:name="android.permission.CAMERA"/>
  <uses-permission android:name="android.permission.VIBRATE"/>
  <uses-permission android:name="android.permission.READ_SMS"/>
  //屏蔽掉入口,只作为lib引入
  <!--<application android:icon="@drawable/icon" android:label="@string/app_name">-->
    <!--<activity android:label="@string/app_name" android:name=".Main">-->
      <!--<intent-filter>-->
        <!--<action android:name="android.intent.action.MAIN"/>-->
        <!--<category android:name="android.intent.category.LAUNCHER"/>-->
      <!--</intent-filter>-->
    <!--</activity>-->
  <!--</application>-->
</manifest>

四. 在你的App的模块的引入处修改你的build.gradle文件
主要是增加 : compile project(‘:androLua’)

    dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.1.1'
    compile 'com.android.support:design:23.1.1'
    compile project(':androLua')
}

不要急着编译 ,检查一下你的工程的build.gradle
五:使用com.android.tools.build:gradle:1.3.1

我本来是用2.0.3支持Android studio 的Fast RUN功能 ,当时编译这个Lua一直无法通过 ,如果你也遇到这种问题,请将插件版本换为1.3.1

六. 基本上配置已经完成了:
试着在你的项目中引入LuaState吧。
七:Android studio 的NDK编译生成的.so文件目录路径为:app/build/intermediates/ndk

免责声明:文章转载自《android Studio 配置LUA 开发环境》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇记一次configuration wizard运行失败SQL注入实例猜密码下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

c++环境配置

C++ 环境设置本地环境设置 如果您想要设置 C++ 语言环境,您需要确保电脑上有以下两款可用的软件,文本编辑器和 C++ 编译器。 文本编辑器 这将用于输入您的程序。文本编辑器包括 Windows Notepad、OS Edit command、Brief、Epsilon、EMACS 和 vim/vi。 文本编辑器的名称和版本在不同的操作系统上可能会有...

Android合并文件的三种方式代码

amr格式的文件头是6字节,在进行文件合并的时候要减去除第一个文件以外的其他文件的文件头。下面介绍合并文件的几种方式,并通过合并amr文件来举例介绍合并文件的具体流程。 注意:不同文件的文件头是不一样的,所以在合并的时候根据不同文件相应的减去合并文件的文件头。具体你可以学习Android开发教程。 步骤一:获取要合并的文件及创建合并后保存的文件 /**用于...

pyinstaller打包python源程序访问hive

1.需求   使用hvie server一段时间后,业务部门需要自己不定时的查询业务数据,之前这一块都是他们提需求我们来做,后来发现这样重复一样的工作放在我们这边做是在没有效率,遂提出给他们工具或者web UI自助查询,当然hive有自己的hwi可以通过网页UI进行自助查询,但是这对不懂sql的业务人员有点不太友好,目前有没时间去修改hwi的UI,所以还是...

android基本架构

Android其本质就是在标准的Linux系统上增加了Java虚拟机Dalvik,并在Dalvik虚拟机上搭建了一个JAVA的application framework,所有的应用程序都是基于JAVA的application framework之上。Android主要应用于ARM平台,但不仅限于ARM,通过编译控制,在X86、MAC等体系结构的机器上同样可...

Windows和Linux下查看Apache、MySQL、PHP版本

# Windows查看Apache版本: 使用命令:httpd -v # Linux查看Apache版本: 使用命令:apachectl -v # Windows查看MySQL版本: 使用命令:mysql --version # Linux查看MySQL版本: 使用命令:mysql -V # Windows查看PHP版本: 使用命令:php -v...

Centos6.5安装nodejs13

下载nodejs13二进制压缩包,解压后运行./node提示缺库文件。在网上面试并试了好多次后,记录一下。 缺失库文件的错误提示:   [root@localhost bin]# ./node   ./node: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (req...