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

test #1

Open
wants to merge 248 commits into
base: 1
Choose a base branch
from
Open

test #1

wants to merge 248 commits into from

Conversation

huajiworld
Copy link
Owner

No description provided.

proto 文件来源:https://github.com/SocialSisterYi/bilibili-API-collect

这有几个坑

- 几个空的 proto 文件会生成重复的 ApiKt 导致 generateProto 时失败
- proto 文件中好几个包名中包含 java 关键字 interface,导致无法编译,需要手动指定 java_package
- nativeact.proto 生成的 java 代码在编译时会在编译时报上百个“找不到符号”,先删去
### 编译速度对比

仅编译 `bili-api`,对比 `:bili-api:compileKotlin` 任务执行时长,删掉 `bili-api/build` 后再编译

#### 编译设备

Intel(R) Core(TM) i5-8279U CPU @ 2.40GHz

macOS 13

#### 结果

|旧编译器|第 1 次|第 2 次|第 3 次|
|-|-|-|-|
|耗时|248.0s|228.0s|244.3s|
|总耗时|310.2s|282.8s|315.2s|
|占比|79.9%|80.6%|77.5%|

|K2|第 1 次|第 2 次|第 3 次|
|-|-|-|-|
|耗时|104.3s|107.1s|106.2s|
|总耗时|168.4s|173.3s|174.6s|
|占比|61.9%|61.8%|60.8%|
将会导致 Compose 代码编译失败,之前启用 K2 是为了改善引入 gRPC 后的编译速度

This reverts commit 54b199a.
- 将 `protobuf-kotlin-lite` 更换为 `protobuf-kotlin`,因为 protobuf-kotlin-lite 中不包含 ProtoAny.unpack() 等方法,会无法解析 Any
- 增加 grpc 会用到的 grpc-okhttp 依赖
因为将一个 proto 生产的代码全部写入到一个文件内会导致文件巨大,例如 bilibili.app.view.v1.ViewOuterClass 文件行数达到了 22w 行,文件大小 7m+,此时会导致 ide 默认设置下无法解析这么大的代码文件
并且会导致 Any 中记录的 class 名称无法直接使用,例如 bilibili.rpc.Status 会被编译为 bilibili.rpc.StatusOuterClass$Status
pgcanymodel.proto -> PGCAnyModel.proto
ugcanymodel.proto -> UGCAnyModel.proto

因为在 Actions 中编译时出现错误(但在本地上编译没问题):

/Users/runner/work/bv/bv/bili-api/build/generated/source/proto/main/java/bilibili/app/playerunite/ugcanymodel/UGCAnyModel.java:6: error: class Ugcanymodel is public, should be declared in a file named Ugcanymodel.java
> Task :bili-api:compileJava
public final class Ugcanymodel ***
             ^
/Users/runner/work/bv/bv/bili-api/build/generated/source/proto/main/java/bilibili/app/playerunite/pgcanymodel/PGCAnyModel.java:6: error: class Pgcanymodel is public, should be declared in a file named Pgcanymodel.java
public final class Pgcanymodel ***
             ^
2 errors
更改使用 android_hd 的 appkey 以便使用扫码登录
# Conflicts:
#	gradle/libs.versions.toml
这可以避免修改 :bili-api 中的代码后反复重新编译未改动的 gRPC 代码,以节省编译时间
…t.v1.list.proto`

gRPC 接口 `bilibili.polymer.list.List` 在访问时返回错误 404,有效请求路径应为 `bilibili.polymer.list.v1.List`
部分 gRPC 接口要求 app 标识与所使用的 access token 相匹配
aaa1115910 and others added 30 commits June 16, 2024 11:03
修复没有谷歌配置文件无法运行的问题
在默认音频设置为杜比/HiRes但视频不存在对应音频时,会优先选择HiRes/杜比而不是192k

resolve #143
在播放剧集时也加载进度条装扮,但剧集类视频仅有 App 接口才能获取到特殊装扮
Tagging version v0.2.8 v0.2.8
原本因为 App 接口请求播放地址时只会返回一种编码的视频,这就会导致一些特殊规格视频例如杜比视界可能会无法获取到播放地址
现在在获取视频播放地址时将同时请求多种编码格式,以便用户切换编码和补全单一视频编码下可能缺失的特殊规格视频
- 替换掉早该换的临时 tabs
- 按下返回键时先返回顶部
compose-tv 1.0.0/1.0.0-rc2 的 Surface 会和 media3 的 ExoPlayer 发生冲突,底层的 Surface 会显示在 PlayerView 内画面的上层(ui 的下层)导致视频画面被遮挡
在我 Chromecast with Android TV 12 和 Android 13 avd 中未能复现,但在 Android TV 9 avd 中能复现,可能低版本 Android 出现概率更大

https://issuetracker.google.com/issues/361611808

#151
通过 Koin 注入的 PgcRepository 可能为 null
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.

3 participants