3 个仓库
Tools that modify the structure and instructions of compiled bytecode to achieve specific functional goals.
Distinct from Bytecode Converters: Distinct from Bytecode Converters which typically change VM formats; transformers modify instructions within a format.
Explore 3 awesome GitHub repositories matching development tools & productivity · Bytecode Transformers. Refine with filters or upvote what's useful.
gradle-retrolambda 是一个 Gradle 插件和字节码转换器,旨在让旧版 Java 和 Android 运行时环境能够使用现代 Java Lambda 表达式。它作为一个回溯移植(backporting)工具,确保现代函数式编程语法与旧版虚拟机保持兼容。 该项目通过转换已编译的类文件,使其兼容 Java 6 和 7 环境。这使得在必须保持与旧版 API 级别和旧款 Android 设备兼容的项目中,也能使用现代 Java 特性。 该工具集成在 Gradle 构建自动化流程中,通过编译后转换来修改二进制输出。它利用字节码层面的脱糖(desugaring)技术,将 Lambda 表达式转换为匿名内部类,并生成兼容的运行时桥接代码。
Gradle plugin that converts Java lambda expressions into bytecode compatible with Java 6 and 7 environments.
cglib 是一套用于 JVM 字节码生成、类转换和动态代理的工具。它提供了一个高级 API,用于在运行时创建和转换 Java 字节码以修改类行为,并提供了一个用于拦截方法调用和字段访问的框架。 该项目实现了动态代理生成以支持面向切面编程 (AOP) 和自定义数据访问模式。它还包括一个序列化管理器,通过添加特定方法和控制代理类中的对象替换来实现序列化契约。 该库涵盖了字节码操作和运行时代码转换,以便在类加载前更改类结构。它还包括性能优化技术,通过方法过滤和轻量级回调来减少代理开销。
Modifies the structure and instructions of compiled bytecode to change behavior before classes load.
This project is an Android Gradle build plugin designed to automate the creation of multiple channel-specific application packages from a single build process. It functions as an APK variant generator that injects unique distribution identifiers into application packages to track installation sources across different app stores. The tool manages the entire distribution lifecycle, from defining target channels via external configuration to generating the corresponding package variants. It uses template-based artifact naming with dynamic placeholders to organize output files and includes a syst
Modifies compiled application files after the build to embed metadata without requiring a full recompilation.