如何保护 api 和相关数据不显示在 android 监视器中?

How to secure the apis and relevant data from displaying in android monitor?

我正在开发一个已经上传到应用商店的应用程序。当我从应用程序商店下载 apk,安装并 运行 它在我的设备上,并打开 Android 工作室(任何随机项目)时,Android 监视器显示所有 apis 链接和我从哪里获取数据的详细信息。

例如,

如果用户在登录后选择城市=拉合尔,则显示

"http://example.com/api/app_home?select_city=lahore&user_id=123....."

在 android 监视器中。对于所有其他 api 也是如此。您甚至可以看到在点击特定 api 后返回的响应。

如何避免这种情况?我猜这不是apk的反编译。在连接到 Android studio 时,我只是在我的设备上 运行ning 应用程序,它显示了所有内容。任何帮助,将不胜感激。我已经搜索过链接,但其中大部分显示了如何避免反编译,而我至少需要隐藏所有这些链接和数据。

  1. 使用 ProGuard。
  2. 将此添加到您的混淆器配置中:

    -assumenosideeffects class android.util.Log {
    
      public static boolean isLoggable(java.lang.String, int);
      public static int v(...);
      public static int i(...);
      public static int d(...);
      public static int e(...); 
    
    }
    

它将从您的代码中删除所有日志行,然后不会在实时构建中记录任何内容,并且您的代码会稍微小一些,因此速度更快。

您调用的 URL 也可能被 OkHttp 记录,如果是这样,那么您需要为此禁用记录。对其进行 google 搜索。

我们可以使用 proguard 来禁用日志,但有时它不起作用。我正在使用 this 库。很不错。