| 
					
				 | 
			
			
				@@ -1,26 +1,65 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 # Capacitor Geckoview浏览器支持插件 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# 迁移重点 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-- Geckoview 不支持直接evalJS(<jscode>)运行JS代码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    - 需要通过消息气泡重新实现 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        - src/main/java/com/getcapacitor/WebExtensionPortProxy.java 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        - src/main/java/com/getcapacitor/MessageHandler.java 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-- Geckoview 默认是arm64库,需要改为32位确保兼容性 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# Features 功能支持 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+- [x]支持加载本地www为本地网址,通过http访问 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+- [x]支持geckoview加载本地网页文件,支持SPA应用规则 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+- [x]@capacitor/device 正常获取androidId 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - 通过js嵌入localStorage设置_capuid参数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+- [ ]支持https://localhost:port/访问 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+- [ ]支持原有@capacitor/android插件通信 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-## 开发调试 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# Usage 使用方法 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+- 第一步:更新项目@capacitor/android为6.2.1具体版本 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - npm i -S @capacitor/android@6.2.1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - 更新其他@capacitor插件为@^6.0.0同一个大版本 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - 确认原有打包结果正常 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+- 第二步:覆盖项目 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - 克隆或下载本项目,找到路径6.2.1/capacitor 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - 覆盖加入geckoview的代码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ``` bash 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    # 整体覆盖代码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    cp -rf ../capacitor-geckoview-fmode/6.2.1/capacitor/* ../node_modules/@capacitor/android/capacitor/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    # 添加build.gradle 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    repositories { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        maven{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            url "https://maven.mozilla.org/maven2/" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    # 添加app/build.gradle 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    dependencies{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        api "org.mozilla.geckoview:geckoview-armeabi-v7a:123.0.20240213221259" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ``` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+- 第三步:手动执行打包子步骤 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ``` bash 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# 从编译开始,直接修改node_modules/@capacitor/android代码 通过gradlew完成编译测试 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# 完成以上步骤:从编译开始,直接修改node_modules/@capacitor/android代码 通过gradlew完成编译测试 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# 进入安卓目录 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+cd android 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# 测试打包 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-./gradlew assembleDebug 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# 调试环境:测试打包 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+./gradlew installDebug # 直接打包运行测试APK 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+./gradlew assembleDebug # 打包测试APK 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-# 携带证书打包 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# 正式环境:正式打包 + 证书签名 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ./gradlew assembleRelease 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# 压缩对齐:以com.fmode.stv.caipu项目为例 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 zipalign -v 4 app/build/outputs/apk/release/app-release-unsigned.apk app/build/outputs/apk/release/com.fmode.stv.caipu-zip.apk 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# 签名示例:以com.fmode.stv.caipu项目为例 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 apksigner sign --ks ../com.fmode.stv.caipu.keystore --ks-pass pass:caipu666 --ks-key-alias caipu --in app/build/outputs/apk/release/com.fmode.stv.caipu-zip.apk --out app/build/outputs/apk/release/com.fmode.stv.caipu-release.apk 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ``` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# Important 迁移重点 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+- Geckoview 不支持直接evalJS(<jscode>)运行JS代码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    - 需要通过消息气泡重新实现 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        - src/main/java/com/getcapacitor/WebExtensionPortProxy.java 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        - src/main/java/com/getcapacitor/MessageHandler.java 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+- Geckoview 默认是arm64库,需要改为32位确保兼容性 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ## 兼容测试 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 - 下载geckoview浏览器测试 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     - https://github.com/threethan/LightningBrowser/releases 
			 |