CHANGELOG_6.2.1.md 5.2 KB

TODOLIST ISSUE

问题:Capacitor由于js eval执行错误导致无法通信

问题描述

  • 6.2.1/capacitor/src/main/java/com/getcapacitor/JSInjector.java

    • 暂时屏蔽了capacitor js插入

      • 此处执行js正常,但是由于后续.eval错误导致程序报错,不停重启
      • getScriptString()函数

        • 注释的嵌入代码部分,让js识别为android环境,但是后续.eval执行无效导致报错
        • 需要修复WebExtensionPortProxy.eval时同时开启

          临时方案

  • 暂时屏蔽 6.2.1/capacitor/src/main/java/com/getcapacitor/JSInjector.java

    • getScriptString() 插件引用JS部分
  • 确保后续执行正常,至少可以用纯web版geckoview

    • 问题:@capacitor会识别为web环境,部分插件,需要通过给localStorage传值实现

问题:更新.novapack脚本,实现打包时启用geckoview

  • 替换 build.gradle
    • 仓库
    • implementation with armeabi-v7a
  • 替换 node_modules/@capacitor/android
    • 执行同步后,执行Build前替换

CHANGELOG

fix: Android TV support with armeabi-v7a

  • 安卓TV,安装apk,启动过了splash直接停止,无法运行
    • 查看日志:无任何日志
    • 已经测试:
      • 是否程序错误安卓不能运行?否,可以运行
        • 安卓手机安装正常运行
      • 是否不兼容geckoview?否,是支持的
        • 安卓电视,安装LightningBrowser正常加载geckoview访问angular网页
      • 是否由于ISSUE 1报错导致?否,根本没有MainActivity.java
        • 日志中空消息,根本没有启动apk
      • 是否是Debug版本导致?否,正式打包签名Release,仍然不能启动
      • 是否是第三方库架构不是arm64?确实不是arm64,对应的arm32位库
        • 测试:adb -s 192.168.2.8:5555 shell getprop ro.product.cpu.abi
        • 结果:armeabi-v7a,不是arm64-v8a
    • 原因分析:暂无
    • 解决方案:直接用32位arm库
      • 解决armeabi-v7a库问题
        • 直接用armeabi-v7a库,因为64位兼容32的库

upgrade: 5.7.2 to 6.2.1

  • 将web-media项目,覆盖官方5.7.0,查看变化。
  • 在6.2.1文件中逐个修改差异文件

复制新文件

mkdir -p 6.2.1/capacitor/src/main/java/com/getcapacitor/httpserver/

cp node_modules/@web-media/capacitor-geckoview/capacitor/src/main/java/com/getcapacitor/Delegates.java 6.2.1/capacitor/src/main/java/com/getcapacitor/Delegates.java
cp node_modules/@web-media/capacitor-geckoview/capacitor/src/main/java/com/getcapacitor/IPostMessage.java 6.2.1/capacitor/src/main/java/com/getcapacitor/IPostMessage.java
cp node_modules/@web-media/capacitor-geckoview/capacitor/src/main/java/com/getcapacitor/WebExtensionPortProxy.java 6.2.1/capacitor/src/main/java/com/getcapacitor/WebExtensionPortProxy.java
cp node_modules/@web-media/capacitor-geckoview/capacitor/src/main/java/com/getcapacitor/WebviewExtension.java 6.2.1/capacitor/src/main/java/com/getcapacitor/WebviewExtension.java
cp node_modules/@web-media/capacitor-geckoview/capacitor/src/main/java/com/getcapacitor/cordova/CapacitorCordovaGeckoViewCookieManager.java 6.2.1/capacitor/src/main/java/com/getcapacitor/cordova/CapacitorCordovaGeckoViewCookieManager.java
cp node_modules/@web-media/capacitor-geckoview/capacitor/src/main/java/com/getcapacitor/cordova/MockCordovaGeckoviewImpl.java 6.2.1/capacitor/src/main/java/com/getcapacitor/cordova/MockCordovaGeckoviewImpl.java
cp node_modules/@web-media/capacitor-geckoview/capacitor/src/main/java/com/getcapacitor/httpserver/SimpleHttpServer.java 6.2.1/capacitor/src/main/java/com/getcapacitor/httpserver/SimpleHttpServer.java

修改差异文件

Changed Files 5.7.0

  • 修改文件

    modified:   5.7.0/capacitor/build.gradle
    modified:   5.7.0/capacitor/src/main/assets/native-bridge.js
    modified:   5.7.0/capacitor/src/main/java/com/getcapacitor/Bridge.java
    modified:   5.7.0/capacitor/src/main/java/com/getcapacitor/CapConfig.java
    modified:   5.7.0/capacitor/src/main/java/com/getcapacitor/MessageHandler.java
    modified:   5.7.0/capacitor/src/main/java/com/getcapacitor/cordova/MockCordovaInterfaceImpl.java
    modified:   5.7.0/capacitor/src/main/java/com/getcapacitor/cordova/MockCordovaWebViewImpl.java
    modified:   5.7.0/capacitor/src/main/java/com/getcapacitor/plugin/CapacitorCookies.java
    modified:   5.7.0/capacitor/src/main/java/com/getcapacitor/plugin/CapacitorHttp.java
    modified:   5.7.0/capacitor/src/main/res/layout/bridge_layout_main.xml
    modified:   5.7.0/capacitor/src/main/res/layout/fragment_bridge.xml
    
  • 新增文件

    new file:   5.7.0/capacitor/src/main/java/com/getcapacitor/Delegates.java
    new file:   5.7.0/capacitor/src/main/java/com/getcapacitor/IPostMessage.java
    new file:   5.7.0/capacitor/src/main/java/com/getcapacitor/WebExtensionPortProxy.java
    new file:   5.7.0/capacitor/src/main/java/com/getcapacitor/WebviewExtension.java
    new file:   5.7.0/capacitor/src/main/java/com/getcapacitor/cordova/CapacitorCordovaGeckoViewCookieManager.java
    new file:   5.7.0/capacitor/src/main/java/com/getcapacitor/cordova/MockCordovaGeckoviewImpl.java
    new file:   5.7.0/capacitor/src/main/java/com/getcapacitor/httpserver/SimpleHttpServer.java