当前位置: 首页 > news >正文

php自适应网站开发wordpress收费主题激活

php自适应网站开发,wordpress收费主题激活,软件开发和网站建设,武器系统软件开发文档1. 背景 在【Android】类加载器&热修复-随记一文中了解了类加载,要完成完整的热修复过程,我们需要构建出差量jar包。而这构建差量包分为两个步骤: 原包,注解解析和插桩;变更后,差量包构建;在这两步过程中会涉及到较多的字节码操作,这里我们需要了解下。我们都听过…

1. 背景

在【Android】类加载器&热修复-随记一文中了解了类加载,要完成完整的热修复过程,我们需要构建出差量jar包。而这构建差量包分为两个步骤:

  1. 原包,注解解析和插桩;
  2. 变更后,差量包构建;

在这两步过程中会涉及到较多的字节码操作,这里我们需要了解下。我们都听过ASM的大名,但门槛较高,这里选择Javaassist来入门。
在这里插入图片描述
另在Robust的构建插件中也可看见所使用的是Javaassist这个库:
在这里插入图片描述

2. 要点

官方文档:https://www.javassist.org/
学习文档:http://www.javassist.org/tutorial/tutorial.html?spm=395e44f7.4d3ad9aa.0.0.13e45fb4COpEYh

主旨是为了学习Robust,故这里的javaassist版本和该项目保持一致。即:

implementation 'org.javassist:javassist:3.20.0-GA'

下面章节将围绕这个版本进行学习。字节码操作大致分为增、删、改。网上查阅到了这篇文章:javassist使用全解析
,写的挺详细的。这里我们就了解两个能力:

  1. 新增一个类;
  2. 在方法前,插装;

2.1 新增一个类到apk中

在app构建过程中,如何通过javaassist来做到满足某个条件就新增一个类到最终apk中?
可以通过注册一个自定义transfrom:

AppExtension appExtension = project.getExtensions().getByType(AppExtension.class);
appExtension.registerTransform(new JavaAssistTransform(project));

在这个transfrom中处理class文件。比如按照上面博客教程生成一个class:

// "com.mengfou.sample.javaassist.AClass"
private byte[] generateTestClass(ClassBuffer classBuffer) {try {ClassPool pool = ClassPool.getDefault();CtClass ctClass = pool.makeClass(classBuffer.getClassName());CtField paramField = new CtField(pool.get("java.lang.String"), "value", ctClass);paramField.setModifiers(Modifier.PRIVATE);ctClass.addField(paramField, CtField.Initializer.constant("1"));CtConstructor cons = new CtConstructor(new CtClass[]{pool.get("java.lang.String")}, ctClass);cons.setBody("{$0.value=$1;}");ctClass.addConstructor(cons);CtMethod calculate = new CtMethod(pool.get("java.lang.String"), "calculate", new CtClass[]{}, ctClass);calculate.setModifiers(Modifier.PRIVATE);calculate.setBody("{return $0.value + \"_hello\";}");ctClass.addMethod(calculate);File parentPath = new File(project.getBuildDir(), "gen
http://www.yayakq.cn/news/978021/

相关文章:

  • 秦皇岛高端网站设计成都交易网站建设
  • 网站建设项目管理大型网站建设济南兴田德润o团队怎么样
  • 企业网站建设方案书范本网络建设存在的问题
  • 北京建工博海建设有限公司网站网站建设外包项目
  • 做商城网站要哪些流程图个人做什么网站
  • 网站建设综合实训心得null wordpress theme
  • 网站集约化建设方案网站广告图片在线制作
  • 电商网站规划建设优化一个网站步骤
  • 专业素材网站小企业网站维护什么东西
  • 专业柳州网站建设多少钱帝国网站怎么仿站
  • 合肥新格建站网网站运行及维护
  • 建站达建网站防止爬虫的办法
  • 商城网站主要内容公司官网如何制作
  • 巩义做网站汉狮公司做订单管理网站用什么软件
  • 网站二维码可以做长按识别吗手机搜索引擎排行榜
  • 怎做网站转app长沙本地招聘网最新招聘信息
  • 西安自适应网站建设网站制作 常州
  • 网站安全建设架构红袖添香网站建设时间
  • 闵行品划网站建设公司wordpress列表图片alt属性
  • 深圳企业网站建设收费标准客户管理系统哪家好
  • 狗和人做网站手机上怎么做能打开的网站
  • 关于排版的网站厦门公司注册代理
  • 网站建设80hoe宁波网站优化
  • 做网站的价格是多少简阳网站建设
  • 深圳网站开发哪家专业顶尖的赣州网站建设
  • 丹东网站网站建设软件开发工资怎么样
  • 车牌照损坏在网站做的能用吗亿驱动力竞价托管
  • 非标自动化东莞网站建设电子商务网站建设感悟
  • i5 7500网站开发深圳品牌营销推广
  • 访问一个网站的全过程施工企业准则