GithubHelp home page GithubHelp logo

Comments (6)

Hackforid avatar Hackforid commented on August 15, 2024 9

因为Lambda表达式desurge生成的class被留在的host中
这是dynamic feature dex split的坑,解决方案是自己改R8,让lambda class正确的放在split中

from qigsaw.

JarvisBuop avatar JarvisBuop commented on August 15, 2024 3

多classloader下混淆的lambda表达式位于host的问题 后续:

  1. 单独升级R8,个人尝试R8 3.0.62版本已经解决这个问题了; (ps:对应agp7.0, qigsaw未支持agp7.0)
    2.使用单Classloader模式;

from qigsaw.

JarvisBuop avatar JarvisBuop commented on August 15, 2024

demo复现步骤: @kissonchan

  1. :java 模块 先添加
    compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
    }
  2. JavaSampleActivity类布局添加id,onCreate中添加
    findViewById(R.id.text).setOnClickListener(v -> {
    Log.e(TAG,"doError");
    });
  3. clear 后使用R8或者proguard 运行 qigsawAssembleRelease
  4. 打完包后进入app,点击text文字会出现NoClassDefFoundError

from qigsaw.

Xiaojuanmao avatar Xiaojuanmao commented on August 15, 2024

因为Lambda表达式desurge生成的class被留在的host中
这是dynamic feature dex split的坑,解决方案是自己改R8,让lambda class正确的放在split中

活捉

from qigsaw.

wille-89 avatar wille-89 commented on August 15, 2024

apply plugin: 'com.iqiyi.qigsaw.dynamicfeature'
用了这个 plugin 还会出现吗?这个 plugin 改了 Scope 的范围,我这边验证是不会有问题

from qigsaw.

xiangtailiang avatar xiangtailiang commented on August 15, 2024

因为Lambda表达式desurge生成的class被留在的host中
这是dynamic feature dex split的坑,解决方案是自己改R8,让lambda class正确的放在split中

官方有对应的issue:https://issuetracker.google.com/issues/181185126
我测试过,AGP7.0可以解决这个问题。但Qigsaw还没适配7.0,大佬有计划适配吗?

from qigsaw.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.