# android-webapp **Repository Path**: chanchaw/android-webapp ## Basic Information - **Project Name**: android-webapp - **Description**: 用于封装 webapp 的 android 封装层 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-01-04 - **Last Updated**: 2026-03-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 概述 2026年1月4日 21:43:55 创建本项目用作 `SNBC EMS PDA` 的 `android` 封装层,之后可用于编译三个客户端:故障对应、设备点检、设备保全 ## 功能特性 - 2026年3月14日 新增读取 `WIFI RSSI BSSID` 功能,在 `wifi_demo.html` 中演示案例 - 2026年3月20日 新增 `app_version_demo.html` 演示获取 `app` 版本号的接口,新增自动升级功能,部署新版本的步骤如下 - 源码中文件 `D:\source\android\webapp\app\build.gradle.kts` 将属性 `versionCode` 累加1,同时累加属性 `versionName`,两个都很关键,都要更新 - 编译新版本 `apk` 文件 - 同一个源码要编译为多个客户端时,注意文件 `D:\source\android\webapp\app\src\main\java\com\xdf\android9\webapp\MainActivity.java` 的静态变量 `upgradeJsonUrl` 指向的路径,每个客户端指向的路径不一样,例如 [定期保全](http://192.168.0.250/snbcemsupda/maint/version.json) 和 [故障对应](http://192.168.0.250/snbcemsupda/repair/version.json) 就不一样 - 服务器上版本文件 `version.json` 中属性 `version` 设置为新的版本号,属性 `url` 一般不会变,但是要注意该路径的文件存在,复制该连接到浏览器如果显示为下载文件则表示设置正确并且新文件也存在 - 源码中指定的检测版本号的 `url` 以及文件 `version.json` 指向的文件地址都要在 `nginx` 中做好代理 - 测试过程中设置 `nginx` 映射路径 `D:\projs\snbcems\upgrade\pda` 为 `snbcemsupda`,所以定期保全的版本检测路径是 `http://192.168.0.250/snbcemsupda/maint/version.json` ## 编译客户端 - 2026年3月20日 新增了自动升级功能,此后按照下面步骤编译客户端 - 修改文件 `D:\source\android\webapp\app\build.gradle.kts` 中的 `applicationId` 和版本号,切记版本号一定要升级,否则无法达到自动升级的效果 - 修改文件 `D:\source\android\webapp\app\src\main\java\com\xdf\android9\webapp\AppConfig.java` 当前要编译的客户端使用的 `WEB_APP_URL` - 修改文件 `D:\source\android\webapp\app\src\main\AndroidManifest.xml` 属性 `application.android:label` 是安装软件显示的名称 - 修改文件 `D:\source\android\webapp\app\src\main\java\com\xdf\android9\webapp\MainActivity.java` 的静态变量 `upgradeJsonUrl` 对应服务端升级客户端的目录 - 使用公司服务器 `Y:\客户资料\nsk\app\apk图标` 下的对应客户端的图标覆盖源码路径 `D:\source\android\webapp\app\src\main\res` 下的多个目录,以便修改编译后的 `app` 启动图标。将 `定期保全\android\res` 下的所有目录拷贝并覆盖到源码的路径 `D:\source\android\webapp\app\src\main\res` 下 ## Trae 以下是使用 `Trae` 实现功能模块的过程 1. 这是一个刚刚创建的空白工程,请帮我制作为web app的封装层。在android9系统中安装本app后,打开这个app其实访问的是一个web项目,访问的web项目的地址要抽取为一个全局常量,假如以后web app的地址变动了,我可以方便的修改。如果需要域名或者路径,请使用:com.xdf.webapp。 2. 在 MainActivity 中制作一个方法用于查询获取当前 android9系统所在设备的硬件标识,在本app启动后立即调用并打印日志,内容是:本设备硬件标识:aaa 3. 在MainActivity.java中有方法getDeviceHardwareId可以获取硬件标识,我想要在webview展示的html中查询获取这个硬件标识,请帮我实现这个功能。如果可以,最好能同时给出javascript的案例代码 4. 我在目录 app/src/main/res/raw 下放置了一个音频文件 new_task.mp3,请制作一个播放这个音频文件的功能,并在 app\src\main\assets\index.html 中制作调用案例。即在 android 源码中制作播放音频文件的功能并公开给 html 调用