V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
jeesk
V2EX  ›  Android

一个可以简单代替 android webview 的东东, 开源出来。

  •  
  •   jeesk · 47 天前 · 3463 次点击
    这是一个创建于 47 天前的主题,其中的信息可能已经有所发展或是发生改变。
    基于 chromium content shell 123.0.6312.121 。 算是我自己从去年移植 chromium webview 的中间产物, 分享出来。

    github 上面有 k32 xwalk, aw-chromium, 等等其他的项目, 多数要么是版本太老, 要么是运行打开就黑屏, 没一个能打。


    https://github.com/webdev-support/chrome_content_shell
    14 条回复    2024-08-15 18:48:38 +08:00
    retrocode
        1
    retrocode  
       47 天前 via iPhone
    能替代 x5 内核吗?
    zuosiruan
        2
    zuosiruan  
       47 天前 via iPhone
    @retrocode 同问
    okakuyang
        3
    okakuyang  
       47 天前
    感谢,先 Fork 了
    jeesk
        4
    jeesk  
    OP
       46 天前 via Android
    @retrocode 一些特殊得接口没有适配。 如果不需要应该可以代替。 比如拼多多就是使用了这种方式
    linhua
        5
    linhua  
       46 天前
    如果可以适配 低版本安卓 4.x 系统,可以用在 影视 等 tvbox 的 app 上
    crystom
        6
    crystom  
       46 天前
    强,请问占包体空间多大?
    jeesk
        7
    jeesk  
    OP
       46 天前
    @crystom 和正常 chrome 基本一致大约 80m 左右。
    jeesk
        8
    jeesk  
    OP
       46 天前
    @linhua 兄弟你有空的话可以试一试,我自己应该是没有时间的,所以不太可能去兼容到 chromium 都不支持 4.4 。
    Parva
        9
    Parva  
       46 天前
    star 了
    shuiniushushu
        10
    shuiniushushu  
       26 天前
    感谢,我跑起来了,在几个手机上测试没问题
    jeesk
        11
    jeesk  
    OP
       25 天前 via Android
    @shuiniushushu 兄弟,放心吧。 这个兼容性我冲 7.1 测试到 Android 13 都是能用的, 只是功能确实和 webview 相差了些
    shuiniushushu
        12
    shuiniushushu  
       24 天前
    兄弟,我在一台红米 6 的机器上无法启动应用,系统为 android 9 ,机器自带的 webview 是 80 。

    报错如下(部分):
    ```
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.github.content.shell/com.example.chromium_content_view.ContentShellActivity}: org.chromium.base.library_loader.ProcessInitException: errorCode=2
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2976)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3113)
    at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
    at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:113)
    at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:71)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1858)
    at android.os.Handler.dispatchMessage(Handler.java:106)
    at android.os.Looper.loop(Looper.java:201)
    at android.app.ActivityThread.main(ActivityThread.java:6820)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:922)
    Caused by: org.chromium.base.library_loader.ProcessInitException: errorCode=2
    at org.chromium.base.library_loader.LibraryLoader.loadMainDexAlreadyLocked(LibraryLoader.java:738)
    at org.chromium.base.library_loader.LibraryLoader.ensureMainDexInitialized(LibraryLoader.java:528)
    at org.chromium.base.library_loader.LibraryLoader.ensureInitialized(LibraryLoader.java:511)
    at com.example.chromium_content_view.ContentShellActivity.initChromiumWebView(ContentShellActivity.java:136)
    at com.example.chromium_content_view.ContentShellActivity.onCreate(ContentShellActivity.java:58)
    at android.app.Activity.performCreate(Activity.java:7224)
    at android.app.Activity.performCreate(Activity.java:7213)
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1272)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2956)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3113) 
    at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78) 
    at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:113) 
    at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:71) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1858) 
    at android.os.Handler.dispatchMessage(Handler.java:106) 
    at android.os.Looper.loop(Looper.java:201) 
    at android.app.ActivityThread.main(ActivityThread.java:6820) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:922) 
    Caused by: java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/system/framework/android.test.mock.jar", zip file "/system/framework/android.test.runner.jar", zip file "/data/app/com.github.content.shell-bXLz8BiwUBL7jXRBoiAm_A==/base.apk"],nativeLibraryDirectories=[/data/app/com.github.content.shell-bXLz8BiwUBL7jXRBoiAm_A==/lib/arm, /data/app/com.github.content.shell-bXLz8BiwUBL7jXRBoiAm_A==/base.apk!/lib/armeabi-v7a, /system/lib]]] couldn't find "libtest_trace_processor.so"
    at java.lang.Runtime.loadLibrary0(Runtime.java:1012)
    at java.lang.System.loadLibrary(System.java:1669)
    at org.chromium.base.library_loader.LibraryLoader.loadWithSystemLinkerAlreadyLocked(LibraryLoader.java:686)
    at org.chromium.base.library_loader.LibraryLoader.loadMainDexAlreadyLocked(LibraryLoader.java:721)
    at org.chromium.base.library_loader.LibraryLoader.ensureMainDexInitialized(LibraryLoader.java:528) 
    at org.chromium.base.library_loader.LibraryLoader.ensureInitialized(LibraryLoader.java:511) 
    at com.example.chromium_content_view.ContentShellActivity.initChromiumWebView(ContentShellActivity.java:136) 
    at com.example.chromium_content_view.ContentShellActivity.onCreate(ContentShellActivity.java:58) 
    at android.app.Activity.performCreate(Activity.java:7224) 
    at android.app.Activity.performCreate(Activity.java:7213) 
    ```
    shuiniushushu
        13
    shuiniushushu  
       24 天前
    @shuiniushushu MIUI 版本是:11.0.4
    jeesk
        14
    jeesk  
    OP
       23 天前
    @shuiniushushu 兄弟, 你看你的日志是缺少了.so 文件呀。 自己看看项目的 readme 吧?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1066 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 23:28 · PVG 07:28 · LAX 16:28 · JFK 19:28
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.