Skip to content
New issue

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

删除导致酷狗概念版旧版本无法获取歌词的进程判断 #292

Merged
merged 2 commits into from
Feb 14, 2025

Conversation

yfan99
Copy link
Contributor

@yfan99 yfan99 commented Feb 14, 2025

旧版歌词在 com.kugou.android.lite.support 进程

@ghhccghk
Copy link
Collaborator

你是在旧版本上碰到什么问题吗,这段代码是过滤掉主线程只保留support线程的

@yfan99
Copy link
Contributor Author

yfan99 commented Feb 14, 2025

我用的是2.5.5(10597) 有次更新后没有歌词了 排查了一下是这个代码造成的 遇到 com.kugou.android.lite.support 就返回了没有执行hook操作 我注释了这行代码 在有歌词的时候打印的进程名字是 com.kugou.android.lite.support

@ghhccghk
Copy link
Collaborator

不应该啊

@yfan99
Copy link
Contributor Author

yfan99 commented Feb 14, 2025

试了几个版本 貌似使用车载蓝牙模式的旧版本只有在 com.kugou.android.lite.support 进程有歌词 而使用状态栏歌词的版本在 com.kugou.android.lite 和 com.kugou.android.lite.support 进程都有歌词
感觉可以把

                    if (getProcessName(app) == "com.kugou.android.lite.support") return@getApplication

改为

                    if (getProcessName(app) != "com.kugou.android.lite.support") return@getApplication

但是不确定是否所有版本都遵循这个规则

@ghhccghk
Copy link
Collaborator

ghhccghk commented Feb 14, 2025

试了几个版本 貌似使用车载蓝牙模式的旧版本只有在 com.kugou.android.lite.support 进程有歌词 而使用状态栏歌词的版本在 com.kugou.android.lite 和 com.kugou.android.lite.support 进程都有歌词 感觉可以把

                    if (getProcessName(app) == "com.kugou.android.lite.support") return@getApplication

改为

                    if (getProcessName(app) != "com.kugou.android.lite.support") return@getApplication

但是不确定是否所有版本都遵循这个规则

单hook主线程会没开关的啊

@yfan99
Copy link
Contributor Author

yfan99 commented Feb 14, 2025

那这样可以去掉这个判断 或者先判断版本号

 "com.kugou.android.lite" -> {
                    when {
                        verCode <= 10648 -> {
                            if (getProcessName(app) != "com.kugou.android.lite.support") return@getApplication
                            hookCarLyric()
                        }

                        verCode <= 10935 -> {
                            if (getProcessName(app) != "com.kugou.android.lite") return@getApplication
                            HookTools.MockFlyme().mock()
                            hookLocalBroadcast("android.support.v4.content.LocalBroadcastManager")
                        }

                        else -> {
                            HookTools.MockFlyme().mock()
                            hookLocalBroadcast("androidx.localbroadcastmanager.content.LocalBroadcastManager")
                            fixProbabilityCollapse()
                        }
                    }
                }

@ghhccghk
Copy link
Collaborator

去掉return@getApplication即可

@yfan99
Copy link
Contributor Author

yfan99 commented Feb 14, 2025

直接去掉判断吗 只去掉return会使判断匹配后面的代码

@ghhccghk
Copy link
Collaborator

ghhccghk commented Feb 14, 2025

和其他开发者讨论后了解到 return@getApplication 是忽略这个if里的包名,你改好我们这边再改,貌似还有bug

@yfan99
Copy link
Contributor Author

yfan99 commented Feb 14, 2025

嗯你看一下

@ghhccghk ghhccghk merged commit e09ef87 into xiaowine:master Feb 14, 2025
@ghhccghk
Copy link
Collaborator

你是哪里下载的,为什么我这里会有状态栏歌词

@ghhccghk
Copy link
Collaborator

待会看一下最新ci有没有问题

@yfan99
Copy link
Contributor Author

yfan99 commented Feb 14, 2025

仓库的releases 从添加了那个判断之后的每个版本都不能显示歌词 删掉判断或者只hook com.kugou.android.lite.support 就好了 我用的旧版本概念版2.5.5 车载歌词 澎湃OS1.0 android13

@ghhccghk
Copy link
Collaborator

仓库的releases 从添加了那个判断之后的每个版本都不能显示歌词 删掉判断或者只hook com.kugou.android.lite.support 就好了 我用的旧版本概念版2.5.5 车载歌词 澎湃OS1.0 android13

https://github.com/xiaowine/Lyric-Getter/actions/runs/13329143035
看看这个

@yfan99
Copy link
Contributor Author

yfan99 commented Feb 14, 2025

最新ci我这里能用 你看28行是不是写错了 lite

@ghhccghk
Copy link
Collaborator

好像是的

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants