代码之家  ›  专栏  ›  技术社区  ›  Nikhil Sawant

从SDK隐藏资源ID

  •  0
  • Nikhil Sawant  · 技术社区  · 6 年前

    我开发了一个SDK,其中包含一个带有一些敏感输入字段的布局。 此SDK将提供给第三方应用程序。 一切正常。

    问题是, 我不希望第三方应用程序从输入字段获取任何信息。但在使用该SDK时(.aar文件) 他可以获取这些SDK输入字段的资源id

    如何防止资源id被公开。

    第三方应用程序中用于集成SDK的代码,

    Intent intent = new Intent();
            intent.setComponent(new ComponentName("com.package_name", "com.package_name.class_name"));
            startActivity(intent);
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   CommonsWare    6 年前

    我不希望第三方应用程序从输入字段获取任何信息

    这是他们应用程序中的代码。他们可以得到他们想要的任何东西。

    如何防止资源id被公开。

    如果说“暴露”,您的意思是“在编译时可用,非常简单 R 常量”,您可以 whitelist the IDs that should be public ,而构建工具将隐藏其余部分。

    请注意,这不会阻止相关方从其自己的流程中访问这些字段。它只会给开发过程增加几分钟。