Skip to content

MLN开发环境搭建

xu.jingyu edited this page Feb 14, 2020 · 55 revisions

概述

经过以下几步操作,搭建我们的开发环境。
1.安装IDE,并安装热重载插件  
2.下载MLN模板工程
3.下载安装热重载工具app
4.热重载方式进行开发 

一.安装IDE

  1. 下载IDEA,IDEA下载地址,可选择社区版本,无需注册码,下载安装包后,一路默认安装即可。
  2. 在IDEA上安装热重载插件
    • 2.1. 下载热重载插件LuaNative,注意是zip包才能正确安装
    • 2.2. 依次选择IDEA->Preferences->Plugins->⚙->Install plugin from disk,选择下载好的压缩包,重启IDEA。

二.下载模板工程

  1. 克隆MLN模板工程
    //外部人员使用如下git地址
    git clone https://github.com/momotech/MLN_Toolkit
    
    //陌陌内部开发人员使用如下git地址,权限相关问题请联系陌陌号125627252
    git clone https://git.wemomo.com/LuaProject/MomoLua.git
    
  2. 使用IDEA打开模板工程
    启动IDEA-> 找到模版工程中MLNTemplate目录 -> Open打开模板工程(注:是MLNTemplate目录而不是直接打开MLN_Toolkit目录)

三.下载安装app热重载工具

  1. 克隆MLN客户端工程
    git clone https://github.com/momotech/MLN
    
  2. 运行到手机
  • Android运行:找到MLN-Android目录,在Android Studio中打开运行安装到手机即可。
    ⚠️安装过程中可能遇到的问题:
    1)若遇到Error:No such property: GradleVersion for class: JetGradlePlugin报错,请将Android Studio升级到3.5版本。
    2)在Android Studio3.5版本上若遇到gradle不适配问题,请使用工程中推荐gradle 5.1.1版本,gradle plugin使用3.4.0版本,然后点击工具栏中的Sync Project With Gradle Files即可。

  • iOS运行:找到MLN-iOS/Example/MLN.xcworkspace目录,在Xcode中打开运行安装到手机即可。
    ⚠️安装过程中遇到问题可前往Demo运行查看解决方案。

四.热重载方式进行开发

在第一步中,我们已经安装了LuaNative插件,现在可以正式开始使用热重载方式进行开发了  
  1. 请先将您的开发设备通过usb连接到电脑,打开第三步安装好的app,进入热重载页面(注:必须处于热重载界面才能连接成功)。 点击IDEA左下角的LuaNative选项卡,如下

  2. 根据您的开发设备系统,从Devices Info下对应的选项中找到并选中您的设备,如果无法找到或是连接不成功,请尝试重启IDEA,重新插拔手机。

  3. 在src目录下,选择一个lua文件作为入口(注:入口文件必须在src目录下),如我们可以选中index.lua,右键点击Make As Entry File选项。

  4. 「EntryFile」选项卡中入口文件就更新为index.lua,粘贴下方测试代码到入口文件中,并且点击「EntryFile」选项卡下的刷新按钮,手机界面便会同步更新UI。

    label = Label()
    label:setGravity(Gravity.CENTER)
    label:text("Hello MLN!")
    window:addView(label)
  5. 开启「自动同步」功能后,编辑入口lua文件后会实时进行检查,更新。关闭后,手动点击刷新按钮才会进行更新。

  6. 修改一下index.lua中的内容,看一下有没有实时进行更新吧!

更多热重载问题请前往热重载

五.MomoKit代码提示工具

  1. 步骤二的模版工程中,MLNCodeHint/MomoKit目录即为代码提示工具包。
  2. 类名、方法名自动补全
  3. 函数参数智能补全
通过键入`closure`配合回车,完成自动补全

4. 由于MomoKit不断补充与完善,点击这里下载最新版MomoKit,解压后将MomoKit文件夹复制到您的工程根目录下,代码提示功能即可使用。⚠️如代码提示仍不生效,请尝试重启IDEA后再试。

Clone this wiki locally