效果不能代表真机,不能作为验收依据。联调验收请用真机。 权限:相机权限为运行时授予;INTERNET / ACCESS_NETWORK_STATE / ACCESS_WIFI_STATE 为普通权限,安装时自动授予,用于推流与局域网扫描。 2) 获取代码与本地配置 git clone https:////opendance-android.git cd opendance-android local.properties 是本地文件(已在 .gitignore 中,不入库),内容: sdk.dir= build/build-apk.sh 在缺失时会依据 ANDROID_HOME / ANDROID_SDK_ROOT 自动生成。 签名材料不入库:仓库只有生成脚本,没有私钥。首次发布前执行 bash build/gen-keystore.sh 生成 keystore/opendance-release.jks 与 keystore.properties(含 storeFile、 keyAlias 与两个口令字段)。请自行备份,且不要提交。 取值优先级:keystore.properties -> 环境变量(KEYSTORE_PATH / KEYSTORE_PASSWORD / KEY_ALIAS / KEY_PASSWORD)-> 回退 debug 签名 (仅供 CI 产出已签名 APK,正式发布必须自备 keystore)。 3) 首次构建 export JAVA_HOME= export ANDROID_HOME= bash build/build-apk.sh debug # 仅 debug bash build/build-apk.sh release # 仅 release bash build/build-apk.sh all # 两者都构建(含产物校验) 或直接用 Gradle: ./gradlew assembleDebug ./gradlew assembleRelease 产物(固定路径): app/build/outputs/apk/debug/app-debug.apk app/build/outputs/apk/release/app-release.apk 发布整包(APK + THIRD_PARTY.md + README.txt + contracts/):