AndroidJS
1.1、AndroidJS简介
是什么 ?:a framework for creating Android apps with JavaScriptCSSHTMLNode.js
官方主页:https://android-js.github.io
源码仓库:https://github.com/android-js
1.3、AndroidJS Samples 

AndroidJS提供了很多的示例代码。我们有必要通过阅读这些示例代码来学习AndroidJS

step1、安装依赖

下载时git
编译时Node.js Runtimenpm | yarnAndroidJS Builder

step2、使用git命令下载AndroidJS sample-app源码

git clone https://github.com/android-js/sample-app.git

step3、进入sample-app目录

cd sample-app

step4、查看sample-app目录中的内容

step5、进入任意一个sample目录中

cd helloworld

step6、查看helloworld目录中的内容

step7、生成APK文件

androidjs build

step8、安装APK文件到Android设备

adb install -t dist/myapp.apk
1.4、package.json

AndroidJS的工程结构与Node.js的工程结构基本一样。

AndroidJS的配置直接在package.json中扩展了几个字段。

字段类型说明
app-nameString应用的名字
package-nameString包名
iconString应用的图标路径
permissionArray需要申请的权限
dist-pathString生成APK的目录
project-typeStringwebviewreact-native

示例:

{
    "name": "helloworld",
    "app-name": "helloworld",
    "package-name": "com.fpliu.helloworld",
    "icon": "./assets/icon/icon.png",
    "permission": [
        "android.permission.INTERNET",
        "android.permission.SEND_SMS"
    ],
    "dist-path": "./dist",
    "project-type": "webview",
    "version": "1.0.0",
    "description": "",
    "main": "index.js",
    "scripts": {
        "build": "androidjs build"
    },
    "author": "",
    "license": "ISC",
    "dependencies": {
        "androidjs": "^1.0.0"
    }
}
1.5、AndroidJS的架构
1.6、AndroidJS back API

运行在Node.js Runtime中的代码就是back

导入back模块:

let back = require('androidjs').back;
const {back} = require('androidjs');
1.6.1、back.on(event, function callback(...args))

监听来自front的事件。

1.6.3、back.send(event, ...args)

front的发送事件。

1.7、AndroidJS front API

运行在WebView中的代码就是frontAndroidJS提供了frontapp两个全局对象。

导入模块:

<script type="text/javascript" src="../assets/ipc/androidjs.js"></script>
1.7.1、front.on(event, function callback(...args))

监听来自back的事件。

1.7.3、front.send(event, ...args)

back的发送事件。