我有一些敏感字符串需要保护。例如:
- 我的Admob ID
- 我的Mapbox私钥
Admob ID似乎必须在AndroidManifest.xml中:
<!-- AdMob -->
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="@string/admob_app_id"/>
有没有办法保护这个ID,让逆向工程师无法访问它?
我在我的Fragment:中加载我的Mapbox私钥
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
val ac = activity?.applicationContext ?: return inflater.inflate(R.layout.fragment_map, container, false)
Mapbox.getInstance(ac, resources.getString(R.string.mapbox_access_token))
return inflater.inflate(R.layout.fragment_map, container, false)
}
有没有办法确保这一点?我实现了云功能,它有一个安全的node.js服务器,但上面的API是原生的Android。
知道吗?
APP中存在的任何信息都可以反编译。你所能做的就是添加加密和解密算法,使应用程序很难被轻易破解。同时,可以对so库进行签名验证,以加强应用程序的安全性。
也许你应该检查一下是否完全隐藏了所有资源(包括字符串(:AndResGuard