东晟校园生活开源优化版
AltCampusLife是一个开源的电动车充电客户端App,与东晟校园生活完全兼容,支持Android, iOS(准备上架AppStore🍎)。
- 🤗集成扫码、充电、充值于一个页面,简单易用
- 📷支持扫码充电,且可开启闪光灯
- 🛜任何网络环境下均可使用,无需SJTU校园网
- 👨💻除了涉及服务端具体API的代码之外,完全开源,功能可拓展定制
Android apk可以从 https://github.com/creeper12356/AltCampusLife/releases 下载
根据苹果公司的相关规定,iOS只能安装来自AppStore的应用,然而上架AppStore需要开发者每年支付$99🤑,以开发者目前的经济状况无法支持🥺。
从官网下载Node.js并安装。
JDK可以选择OracleJDK或OpenJDK,React Native官方推荐JDK17。
配置Android开发环境需要安装Android Studio,安装了Android Studio之后需要下载安装:
- Android SDK
- Android SDK Platform
- Android NDK
- Android Virtual Device(AVD) 具体的配置过程因开发操作系统和版本而不同,具体教程可以参考: https://reactnative.dev/docs/set-up-your-environment#installing-dependencies
在项目根目录下执行:
npm i
npm start
执行npm start
后会出现Metro的LOGO界面和四个选项:
i - run on iOS
a - run on Android
d - open Dev Menu
r - reload app
键入a
后,如果环境配置正确,将启动Android虚拟机,并在虚拟机上运行应用。此外,Metro服务器支持对于JavaScript/TypeScript代码的热更新,即修改代码后保存即可生效,在虚拟机中看到修改代码后的结果。
在项目根目录下执行以下命令以构建Android安装包(不含签名证书)
npm i
# 将React Native代码打包到Android应用中
npx react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res
# 生成apk文件
cd android/
./gradlew assembleRelease
注:在Windows中,最后一步需要使用./gradlew.bat
脚本,而不是./gradlew
。
构建后的apk文件位于android/app/build/outputs/apk/release
目录。
TODO: 欢迎iOS编译成功的同学提出PR补充~
向在本项目开发过程中提供支持的工具/软件表示感谢:
- Visual Studio Code
- JADX
- 抓包精灵
- easyappicon
- Apifox
- HTML Color Picker
- ChatGPT & Copilot
- ...