c# - 尝试使用 ConfuserEx 混淆 Xamarin.android dll 时出错

标签 c# dll xamarin xamarin.android obfuscation

我尝试使用 ConfuserEx 混淆 Xamarin.Android dll,但我只得到错误:

[ERROR] Failed to resolve dependency of 'app.dll'.
Exception: dnlib.DotNet.AssemblyResolveException: Could not resolve assembly: Xamarin.Android.Support.v4, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
   w dnlib.DotNet.Extensions.ResolveThrow(IAssemblyResolver self, IAssembly assembly, ModuleDef sourceModule) w E:\Source\Public\Confuser2\dnlib\src\DotNet\IAssemblyResolver.cs:wiersz 113
   w Confuser.Core.ConfuserEngine.Inspection(ConfuserContext context) w e:\Source\Public\Confuser2\Confuser.Core\ConfuserEngine.cs:wiersz 264
Failed at 20:23, 0:01 elapsed.

我的 confuserEx 项目文件:

<project outputDir="C:\Users\Admin\Desktop\android\app\Confused" baseDir="C:\Users\Admin\Desktop\android\app" xmlns="http://confuser.codeplex.com">
  <packer id="compressor" />
  <module path="obj\Debug\app.dll">
    <rule pattern="true" preset="normal">
      <protection id="rename" />
      <protection id="anti ildasm" />
      <protection id="anti tamper" />
      <protection id="constants" />
      <protection id="ctrl flow" />
    </rule>
  </module>
  <probePath>C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v6.0</probePath>
  <probePath>C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v1.0</probePath>
</project>

如何为项目添加依赖?我需要在项目中添加什么?

提前致谢

最佳答案

您需要指定包含 Xamarin.Android.Support.v4.dll 的正确路径,因为在您已通过 probePath 元素指定的 Microsoft\Framework\MonoAndroid\vX.Y 路径中找不到它。

由于 Xamarin.Android.Support.v4 是作为 NuGet 包添加的,您需要在“packages”目录中指定正确的路径,它可能类似于以下内容

<probePath>packages/Xamarin.Android.Support.v4.23.4.0.1/lib/MonoAndroid403/</probePath>

或者如果您的 IDE 与我的一样,Xamarin.Android.Support.v4 将在构建期间复制到 obj/Debug 路径中​​,在这种情况下,您可以简单地指定此相对路径,如下所示:

<probePath>obj/Debug</probePath>

我不确定使用哪种“首选模式”,但这些方法中的任何一种都应该可以解决您的问题。

关于c# - 尝试使用 ConfuserEx 混淆 Xamarin.android dll 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38545196/

相关文章:

c# - 有没有办法在不按下 Ctrl 键的情况下在 ObjectListView 中进行多选?

c# - 将 SOAP header 添加到请求

c# - 在 Server 2008 x64 上安装 VB6 运行时

c# - 按钮图像未垂直居中

c# - 返回包含两个数组的元组

c# - 插入命令在 C# 中没有错误,但数据未插入到 MS SQL Server

c# - 重载com可见dll中的方法

C++ DLL接口(interface)和内存

c# - 我们可以在 Windows 环境中使用 MonoTouch 开发 iOS 应用程序吗?

ios - Xamarin iOS 8,UICollectionView - 出列可重用 UICollectionViewCell 时出错