android - Retrofit2:保护baseUrl
问题描述
我正在Retrofit2
通过我的 Android 应用程序进行 API 调用:
Api api = new Retrofit.Builder()
.baseUrl(BASE_URL) //<-- Problem here
.addConverterFactory(GsonConverterFactory.create(gson))
.client(okHttpClient.build())
.build()
.create(Api.class);
如今,许多应用程序只需更改所需的BASE_URL或进行一些最少的重新换肤即可重新上传到商店。我知道 100% 保护应用程序免受逆向工程是不可能的,但我只是想以某种方式让任何人更难更改BASE_URL并将应用程序与他自己的 API 一起使用。
对于BASE_URL本身,我使用一些本机代码来获取它,如此处所述。但是,任何人都可以放任何他/她想要的东西,baseUrl(BASE_URL)
而且他/她很高兴。
现在,我正在考虑将整个Retrofit2
作为一个模块导入我的项目中并在那里进行修改以增加一定程度的模糊性。
但我只是在徘徊,没有更好的方法吗?
谢谢。
解决方案
推荐阅读
- python - ffmpeg 无法识别用于解密 m3u8 的本地密钥文件
- ruby-on-rails - 用于自动递增列的 Fluentd sql 输出插件配置
- sql - MS Access SQL 从分组数据中选择 MAX
- bash - 如何使base64对文件进行多次编码并将其输出到文件中?(bash)
- ios - NSURLSession:方法 dataTaskWithRequest 永远不会在冗长的响应中达到完成回调
- android - 如何在反应原生 webview 上启用暗模式?
- php - 从静态方法调用方法
- node.js - ../node_modules/ng2-ckeditor/ckbutton 中的错误。directive.d.TS:1:23 - 错误 TS2688:找不到“ckeditor”的类型定义文件
- c++ - 通过类型转换变量的地址来初始化引用
- c# - 程序启动时如何在控制文本框中获取今天的日期 C#