安卓开源的 B 站视频下载工具,我维护了长达五年时间,你感兴趣参与维护吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
JieShao

安卓开源的 B 站视频下载工具,我维护了长达五年时间,你感兴趣参与维护吗?

  •  
  •   JieShao 1 月 17 日 2430 次点击
    这是一个创建于 97 天前的主题,其中的信息可能已经有所发展或是发生改变。

    项目历程

    初出茅庐

    2020 年 7 月,那会刚高中,我正在尝试 Android 原生开发,当前恰好需要缓存一些 B 站的视频素材,就在找手机上能直接缓存提取好的 APP ,那会我还不能经常用电脑,我记得当年也有一个简单实现了功能的 APP ,我当时就在想能不能给自己做一个,就这样,我的第一个 Java 原生应用诞生了BILIBILIAS ,其中 as 取自单词 analysis ,当时还发布了一篇文章:Bilibili 番剧/视频下载 || BILIBILI AS,这个 APP 算是我整个安卓开发的启蒙了,那会还是用 Java ,当第一个原生程序真正的跑起来,那种感觉是无与伦比的,这个项目当年还非常简陋,只是按钮和图片组成的,我清晰的记得它的样子。 我那会刚开始在 B 站发布一些视频,我希望向其他人分享这个项目的过程,当时这个项目就被开源了,我还可以在 git 记录看到。

    那虽然是一个简陋的 APP ,但我还是想分享出去,没想到当时就收获了很多用户,这让我看到了开发程序的另外一种可能,这之后,我决定继续优化这个 APP ,通过这个形式学习安卓开发。同年 11 月,我发布了新的版本 [ B 站番剧/视频下载] BILIBILI AS v1.0.7 更新,当时 BUG 非常多,只能说勉强可以用,不过还是有那么多人来反馈。

    当时我找了其他伙伴来处理服务器的事情,我们使用最便宜的学生机,轻量机来部署后端服务,用来发布更新和通知,应该这时这个 APP 就不止一个人维护了。

    牛刀小试

    可能是尝到了甜头,也可能是发现有这么多用户,我觉得需要再做的更好一些,但当时实际上并不懂重构的概念,只是觉得应该在现在的基础上优化优化,我就继续对 UI 进行了一些调整,将之前的代码可能加了一些封装,我正在不断尝试安卓原生开发带来的新 API 和功能,当时真的是如饥似渴,每周放假就扎进去开发,21 年的 2 月,我发布了一个看上去还不错的版本: [教程] 爆肝!自制 B 站缓存软件 当时还做了桌面小组件: 搁置已久的安卓版本 B 站桌面小部件来啦!!! 这个时候,这个项目的另外一个使命来了,我发现我们已经有了一部分用户积累,这个时候我开始在 APP 加上轮播图,本来是用来做一些通知的,但我觉得我们已经有有一部分用户,应该有一些担当,就这样,这个轮播图有的时候我会推荐一些新动漫,有的时候会发布 B 站的一些重要通知,部分特殊节日和国家事件,我们也会宣传,当年疫情期间,我们还为大家提供了疫情地图显示。

    崭露头角

    高中结束的时候,毫无疑问的,我选了计算机相关专业,现在来看是毫无疑问,但回头看实际上是这个 app 影响了我的选择,它是鉴定选择软件行业的后盾。当时参加了一次字节跳动组织的青训营,我才发现,,原来架构设计是这样的,原来还有 DataBinding 这样的库,原来还有序列化这么一说,那我之前做的是什么?当时结营后我就将我的 APP 进行了一次重构,当然,现在看其实当时只是修改了一些关键的地方,但,这至少看上去像一个 APP了。 当时我好像还写了一篇文章,关于饺子播放器的,但是那个版本的截图不太找得到了,当时也没有怎么宣传:饺子播放器实现抖音点击布局暂停及双击效果

    小有名气

    大学后我才开始真正的接触到 Kotlin ,新东西总是让人畏惧,但是新知识我真的很难不去用,老软件 BUG 实在是太多了,而且还不能多任务下载,所以我当时还是做了个大胆的决定,那就是重新开发!使用 Kotlin 和 DataBinding 技术。 23 年,项目的重构版本 2.0 来了,这次重构实际上是从软件架构上进行了一些设计,虽然现在看当时做的还是拉完了,但在当时我才真正接触到复杂项目开发,设计代码结构,有非常重要的意义。 [分享] 重制 B 站视频缓存工具 这个版本发布后,接下来的几年中都采用了 23 年开发的架构,在这个基础上进行更多功能的扩展,当然,因为当初设计局限性还是很大,导致后期还是没办法继续迭代了。

    这些年来,BILIBILIAS 积攒了不少用户,很多动漫爱好者,学生等群体都需要使用它。

    光荣进化

    到现在,我觉得需要到更进一步的阶段了,JetpackCompose 技术已经逐渐稳定,我开始采用更高效的响应式框架进行开发,这就是我们现在的 3.0 版本! 这既是尝试新技术,也是对老用户的一个交代,还有人需要它,现在我就还需要继续维护一段时间。

    项目困境

    现在用户的需求逐渐变多,但社区开发人员主力只有我一个,到了现在,我希望去认真的设计项目的每一块内容,确实是跟不上用户的需要,有很大工作,设计都需要一点一点的推进。 所以我希望可以招揽更多对这个项目感兴趣的社区成员参与这个项目的开发

    项目地址:bilibilias 项目预览:GooglePlay

    KadisWang
        1
    KadisWang  
       1 月 17 日 via Android
    真大佬,牛就完了
    chantaksum
        2
    chantaksum  
       1 月 17 日 via Android
    厉害喇佬
    lijunjieone
        3
    lijunjieone  
       1 月 17 日
    如何联系
    JieShao
        4
    JieShao  
    OP
       1 月 17 日
    @lijunjieone GitHub 的用户名就是我的 QQ 号,加我就可以
    lijunjieone
        5
    lijunjieone  
       1 月 18 日
    @JieShao 有微信吗,qq 好多年不上了
    JieShao
        6
    JieShao  
    OP
       1 月 18 日
    @lijunjieone 麻烦向 [email protected] 邮箱发送你的微信号,因为微信比较私密,所以最好还是发到邮箱吧。
    Hitmux
        7
    Hitmux  
       1 月 18 日 via Android
    我报名!
    [email protected]

    GitHub 同号
    liminany1
        8
    liminany1  
       1 月 18 日 via Android
    用 ai 呀
    fbu11
        9
    fbu11  
       1 月 19 日
    加上 AI 辅助吧,之前我用 media3 加上自己写一点 ui 替换了饺子播放器就是用 AI 完成的
    JieShao
        10
    JieShao  
    OP
       1 月 19 日
    @fbu11 一些可以用 ai 的地方已经用 ai 了,但整体的一些设计还是得我们自己来决策,在现有的框架下让它写东西有时候真的不是很好。
    JieShao
        11
    JieShao  
    OP
       1 月 19 日
    @liminany1 不能所有的都靠 ai ,除非这是个短期的项目
    JieShao
        12
    JieShao  
    OP
       1 月 19 日
    @Hitmux 邮箱私信你联系方式了
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solan     887 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 52ms UTC 21:29 PVG 05:29 LAX 14:29 JFK 17:29
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86