We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Originally posted by 2061360308 October 30, 2024 请见我在其他地方所做的回复 #372 (comment)
我在这个测试中成功完成了学习通的登录操作,如果你也感兴趣可以按照我的操作自己进行复现。
fontTools的替换以及从依赖中移除lxml库
fontTools
lxml
由于python-for-android的特性,打包项目所使用的python库在使用含有C代码时需要为其编写特定的recipes来指导编译过程,官方这里支持了一部分常用库(包含requests等)官方支持列表
recipes
现有项目中的fontTools就不是一个纯粹的Python库,而且现在没有被官方支持,不知道是否能够采用其他可用的库进行替换,此外我在打包时移除了lxml,官方虽然有对应的recipes但是实际打包会报错,我查看了相关issues发现有些麻烦,加上BeautifulSoup使用标准库也可以工作,所以我建议后续合并时能够移除它。
The text was updated successfully, but these errors were encountered:
因为就剩下fonttools这一个严重问题没办法解决了,所以我今天抽空看了一下。嗯,可以放弃了。
分享一下经过,目前网上只有两种解决方案,一种浏览器使用typr.js处理ttf字体数据进行解码匹配(猜测是从学习通上扒下来的),另一种就是Python的fonttools方案了,可以追溯到22年左右,估计也就是学习通刚开始加密那会儿大佬写的。
首先说fonttools替代方案,这个Python里面真找不出几个,本来这方面的库就少,然后因为是涉及解码这些估计计算量不小的任务,所以仅有的几个能打的库也是都用到了c模块,也就是说他们都不是纯粹用Python开发的,想在安卓上跑依然不容易。本来都绝望了,然后发现Python-for-android官方支持另一个freetype。我个人上网搜了一下字体处理方面Python最常见的还是fonttools,但是官方支持freetype我猜测不会是fonttools这玩意太复杂不好写recipe吧。
所以有了方案一,可以尝试用freetype代替fonttools,但是难度感觉不小😇。
再说方案二,不是说有一个js使用typrjs的方案吗?再加上我打包APP界面也是偷懒跑的WebView,所以其实可以给js和Python加个双向通信,到时候将安卓上解密的问题就交给WebView跑就行,虽然说确实代码会很绕,但考虑到前端本来功能不复杂,加一个这个也是可以接受。我不准备用他的原因是安卓他应用切后台会被挂起,Python刷课进程我能注册前台服务,但是WebView他不行啊,也就是说采用方案二到时候只能手机一直前台开着APP刷,😅那我为什么不直接用学习通APP,尴尬😓。
方案三没什么好说的,给Python-for-android提issue请求支持fonttools,具体什么时候有结果真说不准。
花了一天时间我就了解到这里了,考虑到有章节检测并且不能跳过的课程只是小部分,后期我就不再关注刷题的了,那些刷题的还是开电脑(自己能看到脚本回答了啥也放心)移动设备这边就只是刷刷视频这些。
如果发现上述有错误或者有新的观点欢迎评论👏
Sorry, something went wrong.
No branches or pull requests
Discussed in #373
Originally posted by 2061360308 October 30, 2024
请见我在其他地方所做的回复 #372 (comment)
我在这个测试中成功完成了学习通的登录操作,如果你也感兴趣可以按照我的操作自己进行复现。
问题描述
fontTools
的替换以及从依赖中移除lxml
库细节描述
由于python-for-android的特性,打包项目所使用的python库在使用含有C代码时需要为其编写特定的
recipes
来指导编译过程,官方这里支持了一部分常用库(包含requests等)官方支持列表现有项目中的
fontTools
就不是一个纯粹的Python库,而且现在没有被官方支持,不知道是否能够采用其他可用的库进行替换,此外我在打包时移除了lxml
,官方虽然有对应的recipes
但是实际打包会报错,我查看了相关issues发现有些麻烦,加上BeautifulSoup使用标准库也可以工作,所以我建议后续合并时能够移除它。The text was updated successfully, but these errors were encountered: