shifujun

Results 282 comments of shifujun

目录的问题之前那个issues说的时候,记得在群里有过一段讨论是说那个要求是电工学院的。反正我记不清是具体怎样的了。是不是说要改成和前一级别的序号对齐的?如果是那样的,很难实现的,因为2.1和2.10不是一样宽的,那么2.1.1和2.10.1的缩进就不是一样的。这在现有的目录设置中无法直接设置。而且这样的规定也不是很有道理啊。我记得规范里是直接要求了每个级别的缩进是多少的。 参考文献序号的中括号对齐的问题,我已经两次花了一下午尝试了,一直没什么好办法。

似乎在群里已经解决了吧?应该是电工的本科论文要求,不是学校的统一要求吧?如果有时间请确认一下,如果是学校的统一要求,我会改在模板里的。

这就是个正常的Service,你按一般Service的debug方法就行了。如果PPS不在主进程,应该关注下插件进程的日志。我估计就是Crash了吧。

> 打包时候发现插件的apk里面没有so文件 Shadow的构建期逻辑只涉及dex中java类的字节码编辑。不会影响apk打包流程中对so文件的操作。建议自查plugin和normal的其他配置区别。

首先这个选择不是必要的,用android-library也是可以的。用android- library会引入很多不需要的构建过程,对应生成的产物就是aar包中除了jar之外的部分。我们的这些module都只需要jar的部分。所以用java-library可以加速构建,也省得设置那些android专用的属性了。早先也用过android-library,那时在构建出aar之后再从中复制出jar,然后丢弃其他部分也是一样的。

“插件线程”,”apk运行在线程“,这都是很难理解的说法。建议还是通过代码交流。https://github.com/Tencent/Shadow/blob/50678f5228660b0a7a4b91576605721a89c9ba7c/CONTRIBUTING.md#issue

资源本身肯定是可以复用的,但是资源ID是一种编译产物,所以不能直接通过资源ID去复用。 通过资源ID复用,需要应用aapt固定ID的设计。这个目前没有示例代码。 还可以通过普通的Java接口复用资源,每个插件或者宿主通过Java接口返回资源,在实现时从自己的Resource对象中取出来。 不能直接复用的根本原因是宿主和插件的版本关系是多对多的。

> 问题:1、关闭loading界面之后,我应该加载哪个布局?fragment的还是activity的? 这应该是业务根据自身需求决定的。你不用LoadingView也不影响插件加载。 > 问题2.加载loadingview的时候,宿主fragment界面中跳转按钮消失? 不知道你为什么要来这里问,`showLoadingView`不是你自己实现的吗? > 问题3. 退出应用还是报报错 这个如果能在Shadow的sample上复现,才能比较好确定是哪里的问题。fork之后添加少量修改,然后push上来看看。

> 所以得在onCloseLoadingView(){}的方法回调中要加载展示的View 这个所以是怎么得到的?你不修改原先宿主Activity的View,等回来的时候它就不会变啊。你如果非要改,那你就得自己还原它。

`manager-db-test`这个module肯定不是任何消费SDK的代码所需要的,它是Shadow项目自身的一个用于自动化测试DB升级兼容性的模块。将其与`manager`拆分,没有放到`manager`的`test`目录中,主要是因为不需要`manager`是一个android library(aar)模块,但是自动化测试确是需要在Android设备上执行。 `gradlew publish`是Shadow发布的任务。它发布的`transform-kit-test`也是SDK的产物之一,但不总是有用的。Shadow的`transform-kit`模块可以被单独复用于任何字节码编辑场景,因此有一个简单的`transform-kit-test`配套用于自动化测试。 如果你说的“打包”是指自行构建发布Shadow使用的话,可以注意下这段文档:https://github.com/Tencent/Shadow/tree/master/projects/sample#%E8%87%AA%E8%A1%8C%E5%8F%91%E5%B8%83sdk%E5%88%B0maven%E4%BB%93%E5%BA%93%E6%96%B9%E6%B3%95