首页 > 解决方案 > 通过 Nodejs 构建 Android 应用程序

问题描述

我想为 Android 构建 twilio SMS 发送器。我最近搜索它并找到了如何通过Android Studio创建,但对我来说似乎很复杂。然后尝试搜索是否可以使用 python 构建 Android 应用程序,但可能是我在错误的地方搜索,我找不到正确的答案。比发现可以通过 Nodejs 构建。我想要它,而不是只为我的设备上传任何地方。

我找到了AndroidJS。

mkdir twilio1
cd twilio1
mkdir assets
mkidr views

我还在视图目录中创建了 index.html,在主应用程序目录中创建了 main.js,然后 -->

npm install androidjs
npm install twilio

这就是我得到的

twilio1
|__views
|     |__index.html
|
|__assets
|
|__node_modules
|
|__main.js
|__package.json

我已将 Bootstrap 中的简单表单粘贴到 index.html

<html>

<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <title>SendME</title>

    <script type="text/javascript" src="../assets/androidjs.js"></script>
    <!-- <script type="text/javascript" src="../node_modules/androidjs/lib/androidjs.js"></script> -->

    <!-- Bootstrap core CSS -->
    <link href="../assets/bootstrap.min.css" rel="stylesheet">

    <!-- Custom styles for this template -->
    <link href="../assets/signin.css" rel="stylesheet">
</head>

<body class="text-center">

    <div id="app" class="app">

        <form class="form-signin">
            <img class="mb-4" src="https://getbootstrap.com/docs/4.0/assets/brand/bootstrap-solid.svg" alt="" width="72" height="72">

            <label for="inputTel" class="sr-only">Send To</label>
            <input type="tel" id="inputNumber" v-model="inputNumber" name="inputNumber" class="form-control" placeholder="Send To" maxlength="13" size="13" required autofocus>
            <label for="inputName" class="sr-only">Sending From</label>
            <input type="text" id="inputName" v-model="inputName" name="inputName" class="form-control" placeholder="Sending From" maxlength="11" size="11" required autofocus>
            <label for="inputText" class="sr-only">SMS Body</label>
            <input type="text" id="inputText" v-model="inputText" name="inputText" class="form-control" placeholder="SMS Body" maxlength="120" size="120" required autofocus>
            <div class="checkbox mb-3">
            </div>
            <button class="btn btn-lg btn-primary btn-block" onclick="sendMsg()" type="submit">Send</button>
        </form>
    </div>

    <script src="main.js"></script>


</body>

</html>

我在 main.js 中编写了这段代码

        const accountSid = 'XX';
        const authToken = 'XX';
        const client = require('twilio')(accountSid, authToken);

        text = this.inputText
        mobile = this.inputNumber
        names = this.inputName


        function sendMsg() {
            client.messages
                .create({
                    body: text,
                    from: names,
                    to: mobile,
                })
        }

之后我将它粘贴到 package.json

{
  "name": "twilio1",
  "app-name": "twilio1",
  "package-name" : "twilio1",
  "icon": "./assets/icon/icon.png",
  "permission": ["android.permission.INTERNET"],
  "version": "1.0.0",
  "dist-path": "./dist",
  "description": "",
  "main": "main.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "androidjs": "^1.0.5"
  }
}

然后我从 GitHub 存储库中复制了 androidjs.js 并粘贴到 assets 中,然后将其 src 位置放在 index.html 中。我以为它准备好了,然后我输入

androidjs b -f

它不工作。只有一条错误消息-->

Invalid project type: undefined

最后我想知道是否可以构建这样的应用程序。或者如果有人已经创建了它并且可以分享给我,请分享。如果可能的话,请帮助我以正确的方式做到这一点。我已经在 python 中为 windows 创建了一个应用程序,所以我也想为 android 创建它,所以。谢谢你。

标签: pythonandroidnode.jstwilio

解决方案


@Roman Smith 您可以webviewpackage.json. 去检查文档https://android-js.github.io/docs


推荐阅读