Pull to refresh

Comments 17

В 13 пункте имеется ввиду все же фрагментация, а не фрагменты.

По поводу 1 пункта, выскажу, возможно, не популярное мнение, но по-моему оно имеет смысл. Если вы только начинаете программировать и пишете приложение «для себя», то, наоборот, постарайтесь не использовать библиотек. Используйте для запросов UrlConnection, парсите json стандартным api андроида, напишите свою «вьюху», вместо того, что бы спереть ее с Android Arsenal. Изобретите свой MVP, orm.
И только потом начинайте использовать библиотеки. В этом случае, при использовании библиотек будет намного проще найти причину, по которой что-то идет не так.
По поводу 1 пункта — тут все зависит от того, в чем первичная цель.
Если цель научится — да, стоит минимальное время потратить на то что бы набить своих шишек и потом понимать что и как работает. Так же неплохо бы закончить универ для начала, вызубрить всего д.кнута, разобраться со smali и вообще:)
Если же цель «фигак и в продакшен», то все же только библиотеки. Выбор хороших библиотек избавит от избыточного количества случаев когда надо искать проблему. А поиск возникших проблем заставит разобраться в том как работает правильный код, вместо набивания своих ошибок.

В любом случае какой бы путь не был выбран — рано или поздно они пересекутся, вопрос именно в том что интереснее в первую очередь — учеба или готовое приложение.
Про ProGuard и DexGuard улыбнуло :) Все боятся «умелых хакеров», которые «воспользуются ситуацией». И, интересно, что же случится? ;)

Хорошо когда ты выпускаешь такой классный и нужный продукт, что кому-то будет не лень лезть и "хакать". Правда если он настолько крут — то и вряд ли pro/dex guard спасут.

Таки есть куча практик, когда авторы зашивают в приложение ключи, пароли и прочие sensitive данные. А потом это добро героически пытаются защитить. Вот недавно на хабре был пост про Android приложение, которое работает с шифрованной СУБД. Плохие практики приводят к боязни хакеров и к закономерным взломам.
Простите, вы не могли бы привести ссылку? (Мой первый комментарий за много лет)
Да вот из недавнего, например. Можно найти много отрицательных примеров, один самых распространённых — менеджеры паролей, которые у тебя же на девайсе хранят ключ, которым шифруют пароли.
И сейчас самое время поделиться и прибавить кармы автору :)
в которые Google добавляет/убирает интерфейс прикладного программирования (Application Programming Interface)

Здесь, наверное, подразумевалось, что Google меняет API?
Автор не знает, как можно нормально использовать Proguard со всякими Google Services и Admob, чтобы не было проблем с обфускацией их классов?
Не обфусицировать классы, которые не нужно обфусицировать?
Так у них же там есть какие-то внутренние классы, которые уже обфусцированы?
Так я и говорю — просто не надо их обфусцировать по второму разу:
-keep class javax.** { *; }
-keep class org.** { *; }
-keep class twitter4j.** { *; }
Пункт 5 и 15 показывает, что автор никогда не пробовал сам реверсить Android приложения. Мне это приходилось делать довольно много, и вывод — как-то защитить можно только при использовании native библиотек — да и то если они у вас не генерируют трафик, который потом будет перехвачен. Так что гораздо корректнее при выкладывании приложения считать, что вы сразу выкладываете его исходники в open source. В исходниках просто **не должно быть** ничего, что требуется защищать. Иначе вы просто становитесь Неуловимым Джо.
Большое спасибо за раздел про бустинг Gradle — раньше время сборки принимал как данность, и это было ошибкой!
Если у Вас много подключенных библиотек из репозиториев, то идёте в File -> Settings -> Build, Execution, Deployment -> Compiler. Там в Command-line Options вписываете --offline и время сборки сократится раза в два.
Sign up to leave a comment.