Bläddra i källkod

build: 改进Android构建流程,自动注入Cordova脚本并添加原生存储插件

- 在 index.html 中自动添加 cordova.js 脚本引用
- 添加检查逻辑避免重复添加 cordova.js
- 安装 cordova-plugin-nativestorage 插件支持本地数据存储
- 更新 CHANGELOG.md 记录变更详情

改动文件:
- .build/build-android.js
- CHANGELOG.md
dengdx 1 månad sedan
förälder
incheckning
57416a0e8b
2 ändrade filer med 43 tillägg och 3 borttagningar
  1. 22 3
      .build/build-android.js
  2. 21 0
      CHANGELOG.md

+ 22 - 3
.build/build-android.js

@@ -487,9 +487,28 @@ function buildAndroidApk() {
     }
   }
   copy(srcDir, dstDir);
-
-  // 4. 安装白名单插件
-  // execSync('npx cordova plugin add cordova-plugin-whitelist', { cwd: cordovaPrjDir, stdio: 'inherit' });
+// 3.1 需要修改 index.html,加入 Cordova 脚本引用
+  const indexPath = path.join(dstDir, 'index.html');
+  let indexContent = fs.readFileSync(indexPath, 'utf8');
+  if (!indexContent.includes('cordova.js')) {
+    indexContent = indexContent.replace(
+      '<head>',
+      '<head>  \n \
+        <!--在业务代码执行之前行加载cordova--> \n \
+      <script src="cordova.js"></script>\n'
+    );
+    fs.writeFileSync(indexPath, indexContent, 'utf8');
+    console.log('✅ 已在 index.html 中添加 cordova.js 引用');
+  } else {
+    console.log('✅ index.html 已包含 cordova.js 引用,跳过添加');
+  }
+  // 3.2 把.build\dros\platforms\android\platform_www\cordova.js复制到.build\dros\www目录下
+  const cordovaJsSrc = path.join(cordovaPrjDir, 'platforms', 'android', 'platform_www', 'cordova.js');
+  const cordovaJsDst = path.join(dstDir, 'cordova.js');
+  fs.copyFileSync(cordovaJsSrc, cordovaJsDst);
+  console.log('✅ 已复制 cordova.js 到 www 目录');
+  // 4. 安装插件 :  为了本地保存网络配置等数据
+  execSync('npx cordova plugin add cordova-plugin-nativestorage', { cwd: cordovaPrjDir, stdio: 'inherit' });
 
   // 5. 复制预配置好的config.xml
   fs.copyFileSync(path.join(__dirname, 'config.xml'), path.join(cordovaPrjDir, 'config.xml'));

+ 21 - 0
CHANGELOG.md

@@ -5,6 +5,27 @@
 格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/),
 版本号遵循 [语义化版本](https://semver.org/lang/zh-CN/)。
 
+## [1.7.0]  - 2025-12-12 14:47
+
+### 变更 (Changed)
+- **Android构建流程改进** ([.build/build-android.js](.build/build-android.js))
+  - 实现index.html自动注入cordova.js脚本功能
+  - 添加智能检测机制,避免重复添加cordova.js引用
+  - 在业务代码执行前确保Cordova环境就绪
+  - 新增cordova-plugin-nativestorage插件安装,支持本地数据存储
+  - 优化构建流程注释,提高代码可读性
+
+**技术实现:**
+- 自动读取并修改生成的index.html文件
+- 在`<head>`标签后插入cordova.js脚本引用
+- 检查现有内容避免重复注入
+- 输出清晰的构建日志信息
+
+**改动文件:**
+- `.build/build-android.js`
+
+---
+
 ## [1.6.0] - 2025-12-11 17:40
 
 ### 新增 (Added)