目前,我通过使用SSL流(包装在缓冲流中)并仅使用字节数组在流上调用读/写来实现有效的实现。
我想使其更快,并且从一些阅读看来,这System.IO.Pipelines是高性能IO的必经之路。
我读过的很多文章/演示仅直接使用套接字演示了代码-自从我使用SSL以来,这似乎对我不起作用。
我找到了一些扩展来从流中获取管道读取器/写入器> Stream.UsePipeReader()或Stream.UsePipeWriter()因此我尝试调用
SSLStream.UsePipeReader()
但是我总是得到错误:
System.NotSupportedException : The ReadAsync method cannot be called when another read operation is pending.
at System.Net.Security.SslStreamInternal.ReadAsyncInternal[TReadAdapter](TReadAdapter adapter, Memory`1 buffer)
at Nerdbank.Streams.PipeExtensions.<>c__DisplayClass5_0.<<UsePipeReader>b__1>d.MoveNext() in D:\a\1\s\src\Nerdbank.Streams\PipeExtensions.cs:line 92
--- End of stack trace from previous location where exception was thrown ---
at System.IO.Pipelines.PipeCompletion.ThrowLatchedException()
at System.IO.Pipelines.Pipe.GetReadResult(ReadResult& result)
at System.IO.Pipelines.Pipe.GetReadAsyncResult()
Run Code Online (Sandbox Code Playgroud)
我从管道读取的代码是:
private async Task<string> ReadAsync(PipeReader reader)
{
var stringBuilder = new StringBuilder();
while (true)
{
var result = await reader.ReadAsync();
var buffer = result.Buffer; …Run Code Online (Sandbox Code Playgroud) 我正在尝试通过 Android Studio > Generate Signed Bundle 或 APK > Android App Bundle > Release 构建发布应用程序
但是 gradle 失败了
: > Task :core:transformClassesWithMergeClassesForRelease FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':core:transformClassesWithMergeClassesForRelease'.
> 1 exception was raised by workers:
java.util.zip.ZipException: duplicate entry: META-INF/app_release.kotlin_module
Run Code Online (Sandbox Code Playgroud)
在我的build.gradle我尝试添加:
packagingOptions {
exclude 'META-INF/app_release.kotlin_module'
}
Run Code Online (Sandbox Code Playgroud)
但它没有任何区别。
我该如何解决?
对于额外的上下文,它是一个多模块项目。
我有一个core模块,以及一个installed在core build.gradlewith 中声明的模块dynamicFeatures = [":installed"]
谢谢
android gradle android-studio build.gradle android-gradle-plugin