【问题标题】:Mono for Android, code obfuscationMono for Android,代码混淆
【发布时间】:2012-11-12 22:13:42
【问题描述】:

众所周知,盗版在 Android 上已成为一个非常严重的问题。 Mono for Android 在编译为原生代码时是否提供代码混淆功能?

【问题讨论】:

    标签: android mono xamarin.android xamarin obfuscation


    【解决方案1】:

    Mono for Android 不提供此功能,但您仍然可以使用第三方工具进行混淆处理。由于 Mono for Android 生成由 Android 设备上的 Mono 运行时 JIT 的 CIL 程序集,因此您需要对这些 .NET 程序集进行模糊处理。因此,像 Android 混淆器 Proguard 这样的工具对您没有帮助。据报道,以下 .NET 混淆器可与 Mono for Android 一起使用。

    如果您使用 Xenocode Postbuild,请确保禁用“元数据缩减”,以便类名在 Java 中保持有效。

    更新

    Xamarin.Android 允许您打包 APK 文件,而无需编译的 .NET DLL。这意味着您不需要从 .NET 的角度应用混淆。我可以提取我的发布 APK 文件,发现只包含 classes.dex 文件和 .so 库文件。要启用此功能,请勾选“在本机代码中嵌入程序集”框(这可能仅适用于企业订阅者)。

    【讨论】:

    • 谢谢。我发现很少有其他来源也建议使用 Xenocode Postbuild。我去试试看。
    • 如果您觉得我的回答足够,请不要犹豫,将其标记为您接受的答案。
    • @alexw 你是如何在没有 DLL 的情况下打包 APK 的?
    • @ian 该选项以前称为“在本机代码中捆绑程序集”,现在是“在本机代码中嵌入程序集”。 Xamarin 已对其进行了更改,因此仅对企业用户启用。他们可能又改回来了,所以在项目packaging settings. 下寻找那个选项
    • @Alexw 它不存在。也许它只是一个企业功能。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-08
    • 2011-08-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多