Giter Club home page Giter Club logo

Comments (28)

JessYanCoding avatar JessYanCoding commented on May 17, 2024 6
  • 关于常见的 Issues这里
  • 有什么问题可以直接进 QQ-Group 咨询

如果您对 ArmsComponent 和 JessYan 有什么好的建议, 都可以在下面留言以及讨论

from armscomponent.

cocowobo avatar cocowobo commented on May 17, 2024 4

来吧,群主生拉硬拽的把我拖上了前进的列车,并且群主还是老司机,车门已经焊死,只能继续学习前进了

from armscomponent.

JessYanCoding avatar JessYanCoding commented on May 17, 2024 1

@hqye ok,我自己改好了 c364e69

from armscomponent.

guixin567 avatar guixin567 commented on May 17, 2024

向大佬致敬

from armscomponent.

YXY1109 avatar YXY1109 commented on May 17, 2024

公司业务越来越多,之前的管理方式已经不行了。看来组件化要多多了解了,向大佬致敬

from armscomponent.

chenmengchien avatar chenmengchien commented on May 17, 2024

來朝聖大佬,從入門到現在的組件化都是看大佬的demo跟文章。

from armscomponent.

JessYanCoding avatar JessYanCoding commented on May 17, 2024

@Samuel12316 ArmsComponent 再添神器, 入门 ArmsComponent 新手甚至可以不看文章, 一键搭建 ArmsComponent 快速组件化方案的整体组件架构, 让新手也可以一秒开始组件化项目, 开发神器, 让您一秒起飞, 避免组件化从入门到放弃!

from armscomponent.

DaviAndorid avatar DaviAndorid commented on May 17, 2024

开源,分享,促进行业发展~

from armscomponent.

LatoAndroid avatar LatoAndroid commented on May 17, 2024

请问下,关于跨组件通信,作者有没有计划在arouter外做关于多个不同组件apk的通信,例如Aidl,Socket等

from armscomponent.

JessYanCoding avatar JessYanCoding commented on May 17, 2024

@LatoAndroidw 我想你想问的是跨进程的组件通信方式吧,暂时没有考虑,关于通信我都把它归为属于路由框架的功能,在文档中我也明确指出,如果 ARouter 不能满足需求,可以自行切换为其他可以满足需求的路由框架,框架并没有规定必须使用 ARouter,专业是的事交给专业的人去做,这方面我并不专业,而且也有很多优秀的框架存在,所以关于模块间的路由和通信我更倾向于用更专业的三方库,ArmsComponent 的优势其实是在于基于 Arms 基础库而搭建起的规范,所以我出了一键生成组件的模板,后续也会围绕着这方面来迭代,而市面上大部分的组件化方案的核心点都是基于路由框架而搭建,比如 CC,所以你有这方面疑问我也理解

最后给你推荐个前段时间爱奇艺开源的跨进程组件通信框架 Andromeda

from armscomponent.

JessYanCoding avatar JessYanCoding commented on May 17, 2024

@m122469119 debug 期间,每个组件都是独立的 app,拥有独立的虚拟机,打包成单独的 apk, 进行单独的调试,你想让多个 apk 之间怎么组合?这个不是插件化方案,也不是进程间通讯框架,只可能在宿主中根据自己的需求在多个组件中仅挑选出自己需要的某几个组件进行依赖,然后一起打包成一个 apk,如果这样的话根本不需要体现到 Demo 中,仅仅是涉及到依赖组件这一行代码,自己就可以举一反三

from armscomponent.

JessYanCoding avatar JessYanCoding commented on May 17, 2024

@m122469119 你说的意思,其实将直播组件作为宿主,不需要单独建宿主,你自己改 build.gradle 让这个组件成为宿主依赖其他组件就可以了, 组件化的最终状态, 每个组件都会被打包成 aar, 上传至私有 maven, 必须通过远程依赖库的方式才可以使用,所以在 release 阶段还真必须要有宿主将它们依赖组合在一起才能使用,在 debug 阶段其实也是一样的,还是无法离开宿主,必须要有宿主将组件组合成一个完整的 app,只是你可以换个思考方式,在本地自己改 build.gradle 让组件自己可以成为宿主,去依赖别的组件,宿主可变,这就是可行的解决方案,可以解决你的问题

总之壳必须有,但你可以让这个壳可以灵活变换而达到你的需求,我猜这应该也是你想要的

我可以提供个思路,将我项目中宿主的 build.gradle 中, 与宿主有关的代码打包成一个单独的 build.gradle,
默认所有 Module 都是组件,哪个 Module 需要变成宿主,apply from 这个单独的 build.gradle, 这个 Module 就立即成为宿主了,还可以把这个 apply from 的过程,弄成根据 gradle.properties 的一个变量自动化,填写那个组件名,哪个组件就是宿主

现在弄一些其他的库比较忙,暂时只能提供思路,后期可能会将这些落地

爱奇艺开源的跨进程组件通信框架 Andromeda

from armscomponent.

hdsb2006 avatar hdsb2006 commented on May 17, 2024

方法数超的解决方案有好的吗,如果在app中加的话,其他moduel单独运行的时候也会报方法数超的问题。如果在moduel中加入 multiDexEnabled = true这类的解决方案的话,会报异常。

from armscomponent.

hdsb2006 avatar hdsb2006 commented on May 17, 2024

请问组件化如何添加混淆?添加混淆后,注入好像失效了

from armscomponent.

bobby-walle avatar bobby-walle commented on May 17, 2024

你好,之前接入时遇到一个问题:在自定义View中触发了System.err的错误,但是框架捕获异常后按照Verbose打印到控制台,检查了好几次才发现。建议将System.err的异常打印为设置为error
image

from armscomponent.

JessYanCoding avatar JessYanCoding commented on May 17, 2024

这个日志不是框架打印的

from armscomponent.

zhangcongmin avatar zhangcongmin commented on May 17, 2024

image
不同版本多出好多相同的库?这个怎么解决

from armscomponent.

JessYanCoding avatar JessYanCoding commented on May 17, 2024

@zhangcongmin 目前 MVPArms v2.4.1 使用的 Support 包是 v27.1.1,但 ArmsComponent 却将 Support 包更新为了 v28.0.0,这段时间 MVPArms 会更新新版本,到时候就会统一使用 v28.0.0

from armscomponent.

tydqcjj avatar tydqcjj commented on May 17, 2024

大神你好!我对组件化的理解是我们玩的棋牌游戏(或者宝宝巴士)。进app就是登陆和各种游戏菜单(比如有斗地主、麻将、斗牛等),这个主界面就是壳工程,点斗地主进入的是一个module,这个module是可以单独编译成一个斗地主apk的,也可以作为一个library和其他麻将等编译成一个聚合apk。
可是我想把我游戏盒子项目组件化,可是我的每一个模块是一个fragment,也就是类似微信的结构,通过底部导航来切换四个fragment,请问怎么组件化,fragment必须依赖activity啊,怎么分离?

from armscomponent.

JessYanCoding avatar JessYanCoding commented on May 17, 2024

由于 ArmsComponent 在 组件单独运行时 和 组件集成宿主时使用了两个不同的 Manifest,所以在组件单独运行时,必须要有一个专门用于测试的宿主 Activity,用于你这个组件的 Fragment 依赖,这个宿主
Activity 只在 组件单独运行时 的 Manifest 中声明,在组件集成宿主时 的 Manifest 中不需要声明也不需要打包进去,这个 宿主 Activity 只用于测试,这时你这个组件就可以单独运行了

当集成宿主时,通过 ARouter 将这个组件的 Fragment 暴露给其他组件或宿主并依附到需要的 Activity 下即可,思路是这样,具体业务代码自己完成把

from armscomponent.

lanjd avatar lanjd commented on May 17, 2024

大佬你好,什么时候出个kotlin代码的框架呢?

from armscomponent.

JessYanCoding avatar JessYanCoding commented on May 17, 2024

@lanjd 目前没这个想法

from armscomponent.

hqye avatar hqye commented on May 17, 2024

@JessYanCoding 亲,targetSdkVersion为28的话要注意network_security_config这个问题啊,我用模拟器不加这个访问不了接口

from armscomponent.

JessYanCoding avatar JessYanCoding commented on May 17, 2024

@hqye 感谢提醒,最近比较忙,能否把你已经配置完成的 network_security_config 贴出来,如果能将代码 PR 到本仓库那就最好不过了

from armscomponent.

hqye avatar hqye commented on May 17, 2024

@JessYanCoding 我才看到,(●'◡'●)你都已经改好了

from armscomponent.

JessYanCoding avatar JessYanCoding commented on May 17, 2024

@z2700589 JessYanCoding/MVPArms#341

from armscomponent.

z2700589 avatar z2700589 commented on May 17, 2024

大佬,组件化的混淆应该怎么配置,是只需要在宿主层配置proguard-rules.pro,还是每个module都需要配置?

from armscomponent.

JessYanCoding avatar JessYanCoding commented on May 17, 2024

@z2700589 宿主,你就把 Module 当成三方库

from armscomponent.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.