gpt4 book ai didi

android - Xamarin.Android 绑定(bind) Spongy CaSTLe/Bouncy CaSTLe

转载 作者:太空狗 更新时间:2023-10-29 13:57:36 25 4
gpt4 key购买 nike

任何人都成功绑定(bind)SpongyCastle Xamarin.Android?我在绑定(bind)项目中使用 Metadata.xml 遇到了一堆警告。

到目前为止我有:

<remove-node path="/api/package[@name='org.spongycastle.x509']" />
<remove-node path="/api/package[@name='org.spongycastle.crypto']" />
<remove-node path="/api/package[@name='org.spongycastle.crypto.tls']" />
<remove-node path="/api/package[@name='org.spongycastle.cms']" />
<remove-node path="/api/package[@name='org.spongycastle.crypto.prng']" />
<remove-node path="/api/package[@name='org.spongycastle.openpgp']" />
<remove-node path="/api/package[@name='org.spongycastle.openssl']" />
<remove-node path="/api/package[@name='org.spongycastle.cert.ocsp']" />

<remove-node path="/api/package[@name='org.spongycastle.jcajce']" />
<remove-node path="/api/package[@name='org.spongycastle.jcajce.provider.asymmetric.dh']" />
<remove-node path="/api/package[@name='org.spongycastle.jcajce.provider.asymmetric.ec']" />
<remove-node path="/api/package[@name='org.spongycastle.jcajce.provider.digest']" />
<remove-node path="/api/package[@name='org.spongycastle.jcajce.provider.keystore.bc']" />
<remove-node path="/api/package[@name='org.spongycastle.jcajce.provider.symmetric']" />

<remove-node path="/api/package[@name='org.spongycastle.jcajce.provider.asymmetric.dsa']" />
<remove-node path="/api/package[@name='org.spongycastle.jcajce.provider.asymmetric.util']" />
<remove-node path="/api/package[@name='org.spongycastle.jcajce.provider.symmetric.util']" />
<remove-node path="/api/package[@name='org.spongycastle.jcajce.provider.asymmetric.gost']" />
<remove-node path="/api/package[@name='org.spongycastle.jcajce.provider.asymmetric.ies']" />
<remove-node path="/api/package[@name='org.spongycastle.jcajce.provider.asymmetric.rsa']" />
<remove-node path="/api/package[@name='org.spongycastle.jcajce.provider.asymmetric.x509']" />

<remove-node path="/api/package[@name='org.spongycastle.jce.provider']/class[@name='CertStoreCollectionSpi']" />
<remove-node path="/api/package[@name='org.spongycastle.jce.provider']/class[@name='MultiCertStoreSpi']" />
<remove-node path="/api/package[@name='org.spongycastle.jce.provider']/class[@name='X509CRLEntryObject']" />
<remove-node path="/api/package[@name='org.spongycastle.jce.provider']/class[@name='X509CRLObject']" />
<remove-node path="/api/package[@name='org.spongycastle.jce.provider']/class[@name='X509CertificateObject']" />
<remove-node path="/api/package[@name='org.spongycastle.jce.provider']/class[@name='X509LDAPCertStoreSpi']"/>
<remove-node path="/api/package[@name='org.spongycastle.jce.provider']/class[@name='PKIXPolicyNode']" />

<remove-node path="/api/package[@name='org.spongycastle.pqc.jcajce.provider.rainbow']" />
<remove-node path="/api/package[@name='org.spongycastle.pqc.jcajce.provider.mceliece']"/>
<remove-node path="/api/package[@name='org.spongycastle.pqc.jcajce.provider.util']" />
<remove-node path="/api/package[@name='org.spongycastle.pqc.crypto.ntru']" />
<remove-node path="/api/package[@name='org.spongycastle.pqc.math.ntru.polynomial']" />

因此它可以编译,但是在 Xamarin.Android 项目中使用绑定(bind)项目时需要几分钟。编译然后它失败提示 Java 的 HEAP 大小。

当我将堆大小设置为 1GB 时,它完成了,但是当在设备上以 Debug模式运行应用程序时,调试随后中断。

有没有办法在没有绑定(bind)库的情况下只使用 ARR?我只需要调用我在这个 ARR 中制作的包装器方法并从中获取输出。我不需要通过 C# 访问完整的库。或者有更好的方法吗?

更新:当我构建 CPU 时,它看起来像这样(看看 Java): enter image description here

最佳答案

通过 ARR , 你是说 AAR ?在只使用部分项目的情况下,可以直接使用JNI : https://developer.xamarin.com/guides/android/advanced_topics/java_integration_overview/working_with_jni/

最简单的方法是 <remove-node>处理您不想保留的所有项目,处理您确实想保留的项目。但是,您可能需要确保保留依赖关系,以便它们正确绑定(bind)。这很快就会变得令人讨厌。

我有一个通用指南,可能会在某些领域对此绑定(bind)有所帮助:

https://github.com/JonDouglas/xamarin-support-docs/blob/master/Android/android-bindings-troubleshooting.md

正如@jzeferino 所提到的,您总是可以选择使用经过实战检验的东西,而不是使用您自己的绑定(bind)。

BouncyCaSTLe-PCL:https://github.com/onovotny/BouncyCastle-PCL

PCL 密码:https://github.com/AArnott/PCLCrypto

这两者都提供了各自的加密方法来完成您的任务。对于 PCLCrypto,它们要么由 Mono 的实现提供,要么由平台的实现提供。

关于android - Xamarin.Android 绑定(bind) Spongy CaSTLe/Bouncy CaSTLe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38147311/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com