2.0.3-rc02 版本无法通过构建
- Dominant language
- C++
- Stars
- 2.5k
- Forks
- 335
- PR merge metrics
- No merged PRs in 30d
Description
运行背景:
jdk 1.8.0
gradle 6.1.1
AGP 4.0
在 `> Task :app:dexBuilderDebug` 阶段会大量有报错,类型信息如下:
```
AGPBI: {"kind":"error","text":"NullPointerException during IR Conversion","sources":[{"file":"/Users/ram/workspace/workDir/xx-android/app/build/intermediates/transforms/rheaTrace/debug/81.jar"}],"tool":"D8"}
```
app目录下的gradle配置如下:
```
rheaTrace {
compilation {
//为减少 APK 体积, 你可以为 App 中需要跟踪的方法设置 id 以此来跟踪此自定义事件, 默认值 false。
// traceWithMethodID = false
//该文件配置决定哪些方法您不希望跟踪, 默认值 null。
traceFilterFilePath = "${project.rootDir}/rhea-trace/traceFilter.txt"
//用特指定方法 id 来设置自定义事件名称, 默认值 null。
// applyMethodMappingFilePath = "${project.rootDir}/rhea-trace/keep-method-id.txt"
needPackageWithMethodMap = true
}
runtime {
//仅在主线程抓取跟踪事件, 默认值 false。
mainThreadOnly true
//在 App 启动之初开始抓取跟踪事件, 默认值 true。
startWhenAppLaunch true
//指定内存存储 atrace 数据 ring buffer 的大小。
atraceBufferSize "500000"
}
}
```
traceFilter.txt 文件内容如下:
```
-blockpackage com/google
-blockpackage android/support
-blockpackage androidx/
```
Contributor guide
Research direction
Reproduce the failure at :app:dexBuilderDebug with JDK 1.8.0, Gradle 6.1.1, and AGP 4.0, using the shown app Gradle configuration and traceFilter.txt. Start by inspecting the generated 81.jar referenced in the D8 error and the rheaTrace compilation path; done means the 2.0.3-rc02 build completes without the IR Conversion NullPointerException.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, java
- Domain
- build-system, mobile-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100