В настоящее время я новичок в разработке Android. Мне нужно разработать защищенное приложение для Android, чтобы я мог его сохранить из getteg pirated.
Для безопасности приложения я использовал RMS в J2ME. В J2ME я использую следующие шаги:
Я хочу реализовать эту концепцию в android .. Пожалуйста, дайте мне знать, как это сделать. Или скажите мне, если какой-либо орган знает, какой способ сделать это в Android.
Во-вторых, я хочу обфускать файл apk, прежде чем выпускать приложение. После того, как я посмотрел на 2 дня, я обнаружил, что это можно сделать с помощью proguard. Но я не понимаю, как запутать код. Пожалуйста, помогите мне в сортировке обеих проблем.
благодаря
На самом деле нет способа защитить какой-либо клиентский код, будь то Android * .apk, файл Java * .jar или немного кода JavaScript, который работает в браузере вашего пользователя. Лучший способ защитить себя от пиратства – это сделать приложение зависимым от некоторых вычислений на стороне сервера, которые вы предоставляете.
Поскольку вы используете RMS, это звучит так, как будто вам уже требуется серверное вычисление. Вместо того, чтобы беспокоить пользователей для ввода кода активации, почему бы вам не связать этот код активации с адресом электронной почты пользователя при покупке приложения, и почему вы не используете OAuth со своей учетной записью Google, чтобы убедиться, что у пользователя есть Который, как известно, приобрел приложение?
Майкл Аарон Сафян сказал все, нечего добавить.
ProGuard теперь интегрирован в инфраструктуру Android и требует, чтобы в принципе не было никакой работы. Вам просто нужно включить его, как описано в этой статье, и при необходимости настроить его конфигурацию. «При необходимости», поскольку конфигурация по умолчанию подходит для большинства проектов. Вам просто нужно быть осторожным с использованием, если рефлексия, поскольку большинство пакетов, классов и методов будут переименованы в процесс обфускации.
Параллель с RMS в Android – SharedPreferences. Однако XML-файл sharedPreferences не защищен как RMS-файлы в J2ME (по крайней мере, на некоторых устройствах). Любой, у кого есть корневое устройство, может легко читать и писать этот файл …
Поэтому я предлагаю вам прочитать о лицензировании приложений для Android. Это далеко не идеально, но это встроенная функция, которую вы можете легко интегрировать. http://developer.android.com/guide/publishing/licensing.html
EDIT: Obfuscation: Чтобы запутать ваш проект, все, что вам нужно сделать, это добавить proguard.config=proguard.cfg
в файл default.properties
.
Обфускация произойдет в соответствии с конфигурацией, указанной в файле defult proguard.cfg. Обратите внимание, что ваш код будет запутан только при создании окончательного APK (Android Tools -> Export …), и я рекомендую проверить окончательный APK после обфускации, особенно когда сторонние библиотеки являются частью процесса сборки