您好,欢迎来到聚文网。
登录
免费注册
网站首页
|
搜索
热搜:
磁力片
|
漫画
|
购物车
0
我的订单
商品分类
首页
幼儿
文学
社科
教辅
生活
销量榜
ASM全埋点开发实战
字数: 627000
装帧: 平装
出版社: 人民邮电出版社
作者: 王灼洲,张伟
出版日期: 2023-07-01
商品条码: 9787115612618
版次: 1
开本: 16开
页数: 400
出版年份: 2023
定价:
¥99.8
销售价:
登录后查看价格
¥{{selectedSku?.salePrice}}
库存:
{{selectedSku?.stock}}
库存充足
{{item.title}}:
{{its.name}}
加入购物车
立即购买
加入书单
收藏
精选
¥5.83
世界图书名著昆虫记绿野仙踪木偶奇遇记儿童书籍彩图注音版
¥5.39
正版世界名著文学小说名家名译中学生课外阅读书籍图书批发 70册
¥8.58
简笔画10000例加厚版2-6岁幼儿童涂色本涂鸦本绘画本填色书正版
¥5.83
世界文学名著全49册中小学生青少年课外书籍文学小说批发正版
¥4.95
全优冲刺100分测试卷一二三四五六年级上下册语文数学英语模拟卷
¥8.69
父与子彩图注音完整版小学生图书批发儿童课外阅读书籍正版1册
¥24.2
好玩的洞洞拉拉书0-3岁宝宝早教益智游戏书机关立体翻翻书4册
¥7.15
幼儿认字识字大王3000字幼儿园中班大班学前班宝宝早教启蒙书
¥11.55
用思维导图读懂儿童心理学培养情绪管理与性格培养故事指导书
¥19.8
少年读漫画鬼谷子全6册在漫画中学国学小学生课外阅读书籍正版
¥64
科学真好玩
¥12.7
一年级下4册·读读童谣和儿歌
¥38.4
原生态新生代(传统木版年画的当代传承国际研讨会论文集)
¥11.14
法国经典中篇小说
¥11.32
上海的狐步舞--穆时英(中国现代文学馆馆藏初版本经典)
¥21.56
猫的摇篮(精)
¥30.72
幼儿园特色课程实施方案/幼儿园生命成长启蒙教育课程丛书
¥24.94
旧时风物(精)
¥12.04
三希堂三帖/墨林珍赏
¥6.88
寒山子庞居士诗帖/墨林珍赏
¥6.88
苕溪帖/墨林珍赏
¥6.88
楷书王维诗卷/墨林珍赏
¥9.46
兰亭序/墨林珍赏
¥7.74
祭侄文稿/墨林珍赏
¥7.74
蜀素帖/墨林珍赏
¥12.04
真草千字文/墨林珍赏
¥114.4
进宴仪轨(精)/中国古代舞乐域外图书
¥24.94
舞蹈音乐的基础理论与应用
编辑推荐
1.开启数据新时代:由神策数据专业团队倾力打造,结合实战案例,通过深入浅出的方式,揭示了ASM技术和Android全埋点技术的奥秘。让您拥有玩转数据的先机! 2.行业优选技术:作者王灼洲、张伟是业内杰出人才,在移动开发领域有超过十年的经验,分别撰写过《Android 全埋点解决方案》和《iOS 全埋点解决方案》,为您呈现前沿的ASM技术和全埋点开发实践。 3.满足用户需求:行业用户对全埋点技术的需求迫切。本书详细、客观地阐述了ASM在Android全埋点中的应用。覆盖各种真实商业场景,并清晰地讲解其技术原理和实现步骤,助您充分利用全埋点技术的特长和优势。 4.非专业工程师的福音:作为一本技术参考书,本书特别适合非专业开发工程师在日常工作中使用。书中将复杂的技术内容解读为通俗易懂的语言,让您轻松掌握与自动化埋点相关的知识,实现数据采集的无缝衔接。 6.详尽深入的技术指南:无论是想学习技术的开发人员还是相关研究者,本书都是实用的参考书。涵盖插件开发和全埋点技术,详细介绍Android插件开发的基础知识,讲解字节码基础和ASM技术的应用。通过本书,您将掌握全埋点开发的核心概念和实现方法,能够独立完成插件开发和全埋点实践。
内容简介
本书由业内专业团队神策数据的专业人士编写,结合实战案例,深入浅出地介绍了ASM技术和Android全埋点技术。作者从神策数据服务超过2000家客户的经历中,发现了行业用户对全埋点技术的迫切需求。本书针对这一点,详细、客观地阐述了ASM在Android全埋点中的应用,涵盖各种真实商业场景,并清晰地讲解其技术原理和实现步骤,以帮助用户利用好全埋点技术的特长和优势。本书作为一本技术参考书,特别适合非专业开发工程师在日常工作中使用。
作者简介
王灼洲是《Android 全埋点解决方案》《iOS 全埋点解决方案》作者,担任数据治理研发部负责,有超过十年的Android & iOS 相关开发经验,是国内早期从事 Android 研发工作的工程师。 张伟,从事移动研发工作超过十年,在神策主要负责埋点技术研究工作。编写过Flutter全埋点解决方案。
目录
1Gradle插件介绍
1.1什么是Gradle插件/002
1.2Gradle基础知识/002
1.2.1学习前提/002
1.2.2Gradle项目结构/002
1.2.3生命周期/004
1.2.4ProjectAPI介绍/005
1.2.5Gradle任务介绍/007
1.2.6生命周期回调/013
1.2.7Gradle执行流程/018
1.2.8获取属性的几种常见方式/018
1.2.9任务执行后的几种状态/018
1.2.10增量构建/019
1.3插件类型/022
1.3.1脚本插件/022
1.3.2buildSrc插件/024
1.3.3单独项目插件/025
1.3.4单独项目插件优化/028
1.3.5插件使用方式/032
1.3.6小结/034
1.4Gradle扩展/035
1.4.1什么是扩展/035
1.4.2ExtensionContainerAPI介绍/035
1.4.3创建扩展/038
1.4.4添加和查找扩展/040
1.4.5扩展嵌套/042
1.4.6NamedDomainObjectContainer/043
1.5综合示例/050
1.5.1概述/050
1.5.2集成步骤/051
1.6插件发布/055
1.6.1GradlePluginPortal/055
1.6.2MavenCentral简介/059
1.6.3上传到MavenCentral/060
1.7插件调试/067
1.7.1输出日志/067
1.7.2断点调试/068
1.8小结/070
2Transform介绍
2.1Android应用的构建/072
2.1.1什么是APK文件/072
2.1.2什么是DEX文件/073
2.1.3Android应用的构建流程/073
2.2Transform简介/076
2.3Transform的简单应用/076
2.4TransformAPI详细介绍/079
2.4.1getName()/080
2.4.2getInputTypes()/081
2.4.3getScopes()/082
2.4.4transform()/085
2.4.5getReferencedScopes()/090
2.4.6isIncremental()/091
2.4.7isCacheable()/092
2.4.8getSecondaryFiles()/092
2.5Transform模板/094
2.6并发编译/101
2.7Transform原理介绍/102
2.8小结/106
3字节码基础
3.1Java虚拟机/108
3.2javap工具介绍/108
3.3特定名称介绍/113
3.3.1字段描述符、方法描述符/113
3.3.2全限定名/114
3.3.3和/116
3.4.class文件结构/117
3.4.1初识.class文件/117
3.4.2.class文件的组成/118
3.5小结/151
4字节码指令
4.1Java虚拟机栈/154
4.2栈帧/155
4.3局部变量表/156
4.4操作数栈/158
4.5字节码指令介绍/159
4.5.1加载和存储指令/160
4.5.2算术指令/163
4.5.3类型转换指令/166
4.5.4对象的创建和操作指令/167
4.5.5操作数栈管理指令/171
4.5.6控制转移指令/175
4.5.7方法调用和返回指令/179
4.5.8异常抛出指令/180
4.5.9同步指令/180
4.6方法调用/181
4.6.1invokevirtual指令/181
4.6.2invokestatic指令/182
4.6.3invokespecial指令/183
4.6.4invokeinterface指令/185
4.6.5方法调用指令的区别和方法分派/185
4.6.6invokedynamic指令/191
4.7案例分析/195
4.7.1System.out.println/195
4.7.2switch-case与String/195
4.7.3for循环原理/198
4.7.4try-catch-finally原理/198
4.8加载、链接、初始化/203
4.8.1加载时机/204
4.8.2加载过程/205
4.8.3字节码剖析/207
4.9字节码指令偏移/211
4.10Java虚拟机中的数据类型/212
4.10.1基本数据类型/213
4.10.2引用数据类型/214
4.11小结/214
5ASM基础
5.1ASM简介/216
5.2ASM组成/216
5.3ClassReaderAPI介绍/217
5.3.1构造方法/217
5.3.2accept()方法/219
5.4ClassVisitorAPI介绍/221
5.4.1ClassVisitor()构造方法/222
5.4.2visit()/223
5.4.3visitSource()/223
5.4.4visitModule()/223
5.4.5visitNestHost()/224
5.4.6visitNestMember()/227
5.4.7visitInnerClass()/228
5.4.8visitOuterClass()/228
5.4.9visitField()/228
5.4.10visitMethod()/229
5.4.11visitAnnotation()/230
5.4.12visitTypeAnnotation()/230
5.4.13visitPermittedSubclass()/232
5.4.14visitRecordComponent()/232
5.4.15visitEnd()/233
5.5ClassWriterAPI介绍/233
5.5.1构造方法/233
5.5.2toByteArray()/233
5.6类的转换和修改/235
5.6.1转换类的方式/235
5.6.2删除Class成员/239
5.6.3增加Class成员/240
5.6.4修改Class成员/242
5.7MethodVisitorAPI介绍/245
5.7.1visitParameter()/248
5.7.2visitAnnotationDefault()/249
5.7.3visitAnnotation()/249
5.7.4visitTypeAnnotation()/250
5.7.5visitAnnotableParameterCount()和visitParameterAnnotation()/251
5.7.6visitAttribute()/252
5.7.7visitCode()/252
5.7.8visitInsn()/252
5.7.9visitIntInsc()/253
5.7.10visitVarInsn()/253
5.7.11visitTypeInsn()/253
5.7.12visitFieldInsn()/254
5.7.13visitMethodInsn()/254
5.7.14visitInvokeDynamicInsn()/254
5.7.15visitLabel()/256
5.7.16visitJumpInsn()/256
5.7.17visitLdcInsn()/257
5.7.18visitIincInsn()/258
5.7.19visitTableSwitchInsn()/258
5.7.20visitLookupSwitchInsn()/259
5.7.21visitTryCatchBlock()/261
5.7.22visitLocalVariable和visitLineNumber()/261
5.7.23visitFrame()/261
5.7.24visitMaxs()/263
5.7.25visitEnd()/264
5.8方法的转换和修改/264
5.8.1方法生成/264
5.8.2删除方法和方法体内容/266
5.8.3优化方法中的指令/267
5.9ASM工具包介绍/269
5.9.1Type/269
5.9.2TraceClassVisitor/270
5.9.3CheckClassAdapter/271
5.9.4ASMifier/274
5.9.5TraceMethodVisitor/278
5.9.6CheckMethodAdapter/278
5.9.7LocalVariableSorter/278
5.9.8GeneratorAdapter/282
5.9.9AdviceAdapter/283
5.10其他实例/284
5.10.1方法替换/284
5.10.2方法参数复用/286
5.11小结/288
6ASM基础之TreeAPI
6.1TreeAPI简介/290
6.2ClassNodeAPI介绍/290
6.2.1类的生成/293
6.2.2类的转换和修改/294
6.3ClassNode与CoreAPI相互转换/295
6.3.1ClassNode的特性/296
6.3.2与CoreAPI相互转换/296
6.4MethodNodeAPI介绍/299
6.4.1方法的生成/303
6.4.2方法的转换和修改/304
6.5MethodNode与CoreAPI相互转换/305
6.5.1MethodNode的特性/305
6.5.2与CoreAPI相互转换/305
6.6CoreAPI和TreeAPI如何选择/307
6.7其他/307
6.7.1方法分析/307
6.7.2兼容性探讨/311
6.7.3Attribute/314
6.7.4ASM框架分析/315
6.8小结/322
7ASM实现全埋点——基础部分
7.1目标/324
7.2实现步骤/324
7.2.1创建Demo工程和SDK模块/324
7.2.2创建插件框架/328
7.2.3编写插件逻辑/332
7.2.4验证/335
7.2.5发布/336
7.3小结/336
8ASM实现全埋点——进阶部分
8.1黑名单/338
8.2防止多次插入/341
8.3方法前插还是后插/344
8.4支持Lambda和方法引用/346
8.4.1原因分析/346
8.4.2Lambda表达式的实现原理/347
8.4.3Lambda设计参考/360
8.4.4HookLambda和方法引用/365
8.5小结/376
9ASM实践分享和未来展望
9.1是否可以注册多个Transform/378
9.2插入代码是否会改变行号/378
9.3是否支持Kotlin/380
9.4ASM如何处理继承关系/381
9.4.1ClassLoader方式/382
9.4.2类图方式/384
9.5慎用static变量/384
9.6AGP7的变化/385
9.7小结/388
×
Close
添加到书单
加载中...
点此新建书单
×
Close
新建书单
标题:
简介:
蜀ICP备2024047804号
Copyright 版权所有 © jvwen.com 聚文网