目前我是Android开发的新手..我需要开发一个安全的Android应用程序,以便我可以将它从getteg盗版中保存。
为了应用程序的安全性,我在J2ME中使用了RMS。在J2ME中我使用以下步骤:
我想在android中实现这个概念。请指导我如何做。或者告诉我,如果有任何机构知道在android中做这个的更好的方法。
其次我想在释放应用程序之前混淆apk文件。在gogling 2天后我发现它可以使用proguard完成。但是我没有得到如何混淆代码。请指导并帮助我进行排序两个问题。
由于
答案 0 :(得分:4)
实际上没有办法保护任何类型的客户端代码,无论是Android * .apk,Java * .jar文件,还是在用户浏览器中运行的一些JavaScript代码。保护自己免受盗版的最佳方法是使应用程序依赖于您提供的某些服务器端计算。
由于您使用的是RMS,听起来您已经需要进行服务器端计算。与其打扰用户输入激活码,为什么不在购买应用程序时将此激活码与用户的电子邮件地址相关联,然后为什么不将OAuth用于他们的Google帐户来验证用户是否拥有已知购买该应用程序的电子邮件地址?
答案 1 :(得分:3)
Michael Aaron Safyan说了一切,没有什么可补充的。
ProGuard现已集成到Android框架中,基本上无需设置任何工作。您只需启用它as explained in this article,并在需要时自定义其配置。 “如果需要”,因为默认配置适用于大多数项目。如果通过混淆过程重命名大多数包,类和方法的反射,你只需要小心使用。
答案 2 :(得分:0)
Android中与RMS的并行是SharedPreferences。 但是,sharedPreferences xml文件不像J2ME中的RMS文件那样受到保护(至少在某些设备中)。任何拥有root设备的人都可以轻松地读写这个文件......
因此,我建议您阅读有关Android的应用程序许可的信息。它远非完美,但它是一个内置功能,您可以轻松集成。 http://developer.android.com/guide/publishing/licensing.html
修改强>
混淆:
要对项目进行模糊处理,您只需将proguard.config=proguard.cfg
添加到default.properties
文件中。
将根据defult proguard.cfg文件中所述的配置进行模糊处理。 请注意,您的代码只会在构建最终APK(Android工具 - >导出...)时进行模糊处理,我建议在混淆后测试最终的APK,尤其是当第三方库是构建过程的一部分时