meili / Aceso

A hotfix library for Android

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

有几个问题 想问一下

xiejinsorry opened this issue · comments

1.比如我要修改一个类,我是不是要把他所引用的东西全部拷过来? 就比如activity ,用到了xml,我要是不把xml拷进去 就无法生成使用terminal生成补丁包
2.如果外界引用了这个类,好像是用teminal 生成补丁包的过程中会出问题
library class com.ng.mangazone.action.MangaAction depends on program class com.ng.mangazone.action.AdUnitAction
类似这样的 不知道是不是混淆的问题, 请问我改如何解决
3.如果1.的情况下我确实要把它引用的东西全部拷过来,会不会太麻烦了?因为引用的类里面可能又引用了很多其他的类,说不定到最后就是导入了整个包

@xiejinsorry
1.只要把你要修改的类拷贝过来就好。
2.是混淆的原因,你需要apply mapping。见wiki

如何在 proguard 中apply mapping? 抱歉 没有在wiki 里面看见

-applymapping aceso-mapping.txt 我要专门把 那个 txt 拷贝 过来吗?

我有吧主项目的里aceso-mapping 生成的文件写入补丁包工程 的proguard中
-applymapping D:\mapping\aceso-mapping.txt 但是错误依旧存在,不知道还有什么解决办法没有,在线等

@farmerjohngit 而且 我并没有 混淆那一个文件 为什么会报这样的错误呢?

是proguard的mapping,不是aceso的mapping。

@farmerjohngit 试过了啊-applymapping D:\mapping.txt 从工程里粘过来的

我可以了,之前还以为是aceso的mapping,现在用的是output里面的mapping.txt可以了

这尼玛 我 还不行啊 -applymapping D:\mapping\mapping.txt 不是这样的吗?

我 日 !!!

你看一下#17

@xiejinsorry 不知道你有没有把demo中progurad中的-dontskipnonpubliclibraryclassmembers
-useuniqueclassmembernames
-dontshrink
-dontoptimize
-optimizationpasses 1
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontpreverify
-verbose这些拷过去吗,我不拷的话也会报错

@zlg2338781286 你说的时候我没有拷进去 现在拷进去还是没效果

  • What went wrong:
    Execution failed for task ':app:transformClassesWithDexForRelease'.

the method : onDestroy.()V in class : com/ng/mangazone/a/b not found in the aceso-mapping.
sure you aceso-mapping is right and no new method.