-
Notifications
You must be signed in to change notification settings - Fork 280
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
2.0.3-rc02 版本无法通过构建 #120
Comments
麻烦提供一下详细的构建失败日志吧,如果方便的话也提供下错误中涉及的 |
-blockpackage com/airbnb/lottie/LottieTask 有8个类似下发的报错 |
我发现windows下创建并写入的
private fun parseTraceFilterFile(processor: MappingCollector) {
// ...
val methodKeepArray =
methodKeepStr.trim { it <= ' ' }.replace("/", ".").split("\n").toTypedArray()
val iterator = methodKeepArray.iterator()
loop@ while (iterator.hasNext()) {
val item = iterator.next()
when {
// ...
item.startsWith("-blockpackage ") -> {
val blockPackageString = item.replace("-blockpackage ", "")
blockPackages.add(blockPackageString)
}
// ...
}
}
RheaLog.i(TAG, " allow packages: $allowPackages, block packages: $blockPackages")
} 针对读取的结果字符串 @Test
fun readFileAsString() {
val filePath = "D:\\study\\android\\KotlinStart/trace-filter/testFileFilter.txt"
if (filePath == null) {
return
}
if (!File(filePath).exists()) {
return
}
val fileData = StringBuffer()
var fileReader: Reader? = null
var inputStream: InputStream? = null
try {
inputStream = FileInputStream(filePath)
fileReader = InputStreamReader(inputStream, "UTF-8")
val buf = CharArray(16384)
var numRead: Int
while (fileReader.read(buf).also { numRead = it } != -1) {
val readData = String(buf, 0, numRead)
fileData.append(readData)
}
} catch (e: Exception) {
e.printStackTrace()
return
} finally {
try {
closeQuietly(
fileReader
)
closeQuietly(
inputStream
)
} catch (e: Exception) {
e.printStackTrace()
}
}
print("读取文件结果:${fileData.toString()}")
val methodKeepArray =
fileData.toString().trim { it <= ' ' }.trimEnd().replace("/", ".").split("\n").toTypedArray()
val iterator = methodKeepArray.iterator()
val blockPackages: MutableList<String> = mutableListOf<String>()
loop@ while (iterator.hasNext()) {
val item = iterator.next()
when {
item.startsWith("-blockpackage ") -> {
val blockPackageString = item.replace("-blockpackage ", "")
blockPackages.add(blockPackageString)
}
}
}
blockPackages.forEach {
print("输出: $it ")
}
return
}
-blockpackage com/android/test
-blockpackage com/android/text
-blockpackage com/android/input 输出结果如下: 读取文件结果:-blockpackage com/android/test
-blockpackage com/android/text
输出: com.android.input 如果将split符号再做修改 val methodKeepArray =
fileData.toString().trim { it <= ' ' }.trimEnd().replace("/", ".").split("\r\n").toTypedArray() 则输出所有 读取文件结果:-blockpackage com/android/test
-blockpackage com/android/text
-blockpackage com/android/input输出: com.android.test 输出: com.android.text 输出: com.android.input 因此针对window的文件可以参考如下方法去除 还有一种方式:就是在linux上编写这个traceFilter.txt然后拷贝到window上 |
请参考这个试试 |
运行背景:
jdk 1.8.0
gradle 6.1.1
AGP 4.0
在
> Task :app:dexBuilderDebug
阶段会大量有报错,类型信息如下:app目录下的gradle配置如下:
traceFilter.txt 文件内容如下:
The text was updated successfully, but these errors were encountered: