Comments (18)
@kongnanlive ,并没有冒犯你的意思。如果让你觉得不舒服,这里我道歉。只是个人认为任何的提问都是建立在自己已经充分研究的基础上。对于为什么不同的target编译出来的包不一样大小,也是非常好理解的
from tinker.
@kongnanlive 这个问题是因为assembleDebug和AndroidStudio直接运行生成出来的包不一致造成的。。。。
from tinker.
@411370845 你需要指定r.txt路径
from tinker.
resources.arsc改变,请先仔细查看文档与使用说明
from tinker.
@dodola 知道了,tinkerPatchDebug成功了,谢谢两位大神
from tinker.
@shwenzhang 你好,看了你的这篇博客https://my.oschina.net/shwenzhang/blog/751618,你们是怎么做到补丁包10K的?按教程打补丁tinker-sample-android都要有166kb(仅仅打开一句log),差太多了吧?补丁包里面多了很多并没有改变过的图片,是因为你们微信res资源混淆过了吗?
from tinker.
@kongnanlive ,你看看补丁包具体的内容,只改变一句log,补丁包是在4k以内的。
from tinker.
如果使用了资源混淆需要保证两次混淆的时候使用同一份mapping,请根据教程配置
from tinker.
@shwenzhang 没用mapping我是debug模式,日子发你看下。
log.txt
from tinker.
日志你自己也可以看到,不是说的很清楚,找到很多新增的资源?你自己解压两个安装包就知道是否是真的新增了?
from tinker.
@shwenzhang 问题是这些图片为什么会是新增的?
add resource: res/drawable-xxxhdpi-v4/abc_btn_check_to_on_mtrl_000.png, oldSize=0, newSize=295
add resource: res/drawable-xxxhdpi-v4/abc_btn_check_to_on_mtrl_015.png, oldSize=0, newSize=551
add resource: res/drawable-xxxhdpi-v4/abc_btn_radio_to_on_mtrl_000.png, oldSize=0, newSize=1014
add resource: res/drawable-xxxhdpi-v4/abc_btn_radio_to_on_mtrl_015.png, oldSize=0, newSize=1226
add resource: res/drawable-xxxhdpi-v4/abc_btn_switch_to_on_mtrl_00001.9.png, oldSize=0, newSize=3524
add resource: res/drawable-xxxhdpi-v4/abc_btn_switch_to_on_mtrl_00012.9.png, oldSize=0, newSize=3853
add resource: res/drawable-xxxhdpi-v4/abc_ic_ab_back_mtrl_am_alpha.png, oldSize=0, newSize=240
add resource: res/drawable-xxxhdpi-v4/abc_ic_clear_mtrl_alpha.png, oldSize=0, newSize=566
add resource: res/drawable-xxxhdpi-v4/abc_ic_menu_copy_mtrl_am_alpha.png, oldSize=0, newSize=418
add resource: res/drawable-xxxhdpi-v4/abc_ic_menu_cut_mtrl_alpha.png, oldSize=0, newSize=1253
add resource: res/drawable-xxxhdpi-v4/abc_ic_menu_moreoverflow_mtrl_alpha.png, oldSize=0, newSize=378
add resource: res/drawable-xxxhdpi-v4/abc_ic_menu_paste_mtrl_am_alpha.png, oldSize=0, newSize=680
add resource: res/drawable-xxxhdpi-v4/abc_ic_menu_selectall_mtrl_alpha.png, oldSize=0, newSize=390
add resource: res/drawable-xxxhdpi-v4/abc_ic_menu_share_mtrl_alpha.png, oldSize=0, newSize=1559
add resource: res/drawable-xxxhdpi-v4/abc_ic_search_api_mtrl_alpha.png, oldSize=0, newSize=1571
add resource: res/drawable-xxxhdpi-v4/abc_ic_voice_search_api_mtrl_alpha.png, oldSize=0, newSize=1291
add resource: res/drawable-xxxhdpi-v4/abc_scrubber_control_to_pressed_mtrl_000.png, oldSize=0, newSize=666
add resource: res/drawable-xxxhdpi-v4/abc_scrubber_control_to_pressed_mtrl_005.png, oldSize=0, newSize=959
add resource: res/drawable-xxxhdpi-v4/abc_spinner_mtrl_am_alpha.9.png, oldSize=0, newSize=617
add resource: res/drawable-xxxhdpi-v4/abc_switch_track_mtrl_alpha.9.png, oldSize=0, newSize=1025
add resource: res/drawable-xxxhdpi-v4/abc_tab_indicator_mtrl_alpha.9.png, oldSize=0, newSize=208
这明明是support库里面自带的,gradle我又没改什么东西。
from tinker.
你解压两个安装包,确认一下旧的apk是否真的没有这些资源?
from tinker.
@shwenzhang 确实是新增的,原包1.3M新包1.5M,我服Android Studio,还好问过你,不然就误会tinker了。
from tinker.
事实上,日志已经写的很清楚,不应该来问的。热补丁并不简单,还是建议多浏览一下大致框架代码
from tinker.
@shwenzhang "不应该来问的"这句话不喜欢听,但我还是礼貌的把步骤重现下,设备三星Galaxy J3 Android 5.1.1多次运行都是1.3M,换台魅族M351 Android4.4.4 Flyme os 4.2.8.1A,任何代码不动编译运行后变成1.5M。谢谢的回答!
from tinker.
这里确实不是tinker的问题,但是想问一下,为什么直接运行和执行assembleXXX运行出来的包是不一样的呢? @dodola
from tinker.
@icespring shwenzhang 已经说过了“不同的target编译出来的包不一样大小”
from tinker.
@icespring 怀疑是AndroidStudio针对你选择的Device进行了资源上的优化,但是这个没有找到相关资料说明,只是猜测
from tinker.
Related Issues (20)
- 和华为性能分析sdk同时集成出现冲突 HOT 2
- 项目加入sentry之后编译补丁包异常
- tinker的开源版本和内部使用版本是一个版本吗 HOT 1
- gradle 升级到4.2.2 编译错误 HOT 1
- patch 升级耗时太久!The patch upgrade takes too long ! HOT 1
- Android13-debug环境补丁加载正常,release加载成功,但重启app会连续崩溃3次并自动清理补丁 HOT 3
- 华为鸿蒙系统HarmonyOS 4.0.0版本补丁成功,版本号(BuildConfig.APP_VERSION)无变化 HOT 5
- 1.9.14.26 合成很慢
- tinkerPatch命令执行成功,但是没有生成补丁apk文件 HOT 2
- 补丁包生成失败,Method xxx in loader class xxx,refers to method xxx,which is not in loader class, this may cause crash when patch is loaded. HOT 1
- drawable下新增图片不使用newApk选项编译出来的补丁包无效,使用newApk有效 HOT 2
- Android 14 dex2oat不生效
- 1.9.14.18之后删除无用theme异常 & 启动崩溃
- 1.9.14.26.3在华为老款手机补丁合并异常
- 用tinker demo升minsdk=24打补丁包报错Unexpected magic: [100, 101, 120, 10, 48, 51, 57, 0]
- tinker patch exception java.lang.NoSuchMethodError: No direct method <init>(Ljava/lang/String;Ljava/lang/String;ZZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V in class HOT 2
- tinker patch meta entry not found HOT 1
- 补丁包安装成功,重启APP加载修复包耗时过长问题 HOT 2
- 小米应用市场 将在 今年7月份 认为 获取 应用安装路径(ApplicationInfo.sourceDir)是隐私违规的 HOT 2
- 【TargetSDK34适配】PathClassLoader跟DexClassLoader动态加载影响
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tinker.