LINUX.ORG.RU

android, обфускация игры с помощью proGuard

 , , proguard


1

1

есть игра на яве для андроид
есть эклипс и android developer tools

есть простое приложение и исходники игры на andEngine

простое приложение компилируется и запускается на телефоне
включаем обфускацию proGuard в project.properties - все обфусцируется и работает

игра компилируется и запускается без обфускации
но если включить proGuard - то экспорт signed package завершается с кодом 1

ошибка «duplicate zip entry», типа такой (не моя) http://stackoverflow.com/questions/8723088/error-when-proguard-android-project

изгуглил все что можно, не могу решить, ввиду непонимания принципов работы
проект состоит из 4х проектов - апки и 3х либ (android-support-v4.jar, google services и ещё что-то)

скажите простыми словами. что надо сделать, чтобы entry не дублировались?
в конфиге proGuard добавить строчки, исключающие эти либы?
пробовал по-разному, становилось только хуже

Ты ошибся адресом. Здесь говорить о таком просто неприлично.

chg ★★★★★
()

Я очень оскорблён сим топиком. Присоединяюсь к забану.

das_tier ★★★★★
()

ананимусзабан.

anonymous
()

Да, действительно непристойный вопрос. Обфускация - подлость!

toney ★★★★★
()

Обсуждать обфускацию на ЛОРе — это как обсуждать проституцию среди монахов. Может, и пользовались, но никто не скажет.

proud_anon ★★★★★
()

Те кому надо и так купят платную версию, если что. Те кому нужна на халяву и так скачают уже готовый apk, который возьмут у того человека, который купил.
Твои сорцы никому не нужны, тем более какой-то игры, не программы. Да и вообще когда декомпилируешь андройд приложение, в коде можно только просмотреть логику. А так там остается достаточное количество машинного мусора, в самых неожиданных местах. Так что проще переписать с нуля, да и вообще врядли кто-то будет разбираться в твоем коде, а если это такой человек, который с ходу разберется, то с его скиллом ему будет проще сделать с нуля.

anonymous_sama ★★★★★
()
Ответ на: комментарий от sergey-novikov

> любой может разобрать мою апку на сорцы, а мне надо этого избежать

Ты правда думаешь что эти сорцы кому-то всрались окромя тебя?

anonymous
()

Вы тут на него взъелись, кто в шутку, а кто всерьез, но, тем не менее, скажу, что разрабатывать на Scala под андроид без обфускации просто невозможно. Это из-за особенностей самой Scala, ее библиотеки коллекций, да еще виртуальной машины Dalvik. Это я к тому, что обфускация все же имеет право на жизнь.

Что касается вопроса автора, то подсказать не могу. Может быть, нестыковка версий обфускатора и JDK? Вполне такое может быть.

А так, конфиги ProGuard можно найти на его сайте. Там должно быть и для андроида.

Давно не запускал обфускатор. Он мне нужен был как раз для проверки, можно ли программировать на Scala под андроид. Помню, что остался тогда сильно, очень сильно недовольным... особенно языком Scala.

dave ★★★★★
()
Ответ на: комментарий от buddhist

Из-за того, что в библиотеки коллекций Scala повсеместно используются traits (что-то типа интерфейса ООП, но с реализацией), а они при компиляции приводят к безудержному росту количества методов на один класс. В итоге превышается предел на количество методов, который допустим в Dalvik (и в новой виртуальной машине андроида тоже). Там предел где-то в 65 тысяч методов с копейками.

Для Java такой предел трудно превысить, а, как оказалось, на Scala - вполне легко.

Не продумали, причем обе стороны.

dave ★★★★★
()
Ответ на: комментарий от buddhist

А обфускатор как раз удаляет ненужные методы, возникшие после компиляции traits. В итоге вписываемся в предел по числу методов в Dalvik.

dave ★★★★★
()
Ответ на: комментарий от dave

Может ещё вместо strip(1) теперь будем обфускацию использовать?

anonymous
()

Если это gradle, посмотри в сторону exclude для зависимостей.

crowbar
()

Зачем в этой теме люди, не разбирающиеся в особенностях разработки под Android?

Кроме очевидного, обфускация нужна еще для двух вещей: уменьшение размера APK и сокращение количества методов чтобы уложится в лимит 65535. Я свои опенсорс-приложения обфусцирую.

crowbar
()

тебе же на stackoverflow всё ответили: исключить из обработки всё что может содержать зависимости на одни и теже либы... чтобы не оказалось так что одна и таже либа была включена в проект обфурцированой и нет.

mm3 ★★★
()

Блять, ЛОР прям форум для школокодеров проприетарщиков. Доехали, блять

anonymous
()

tailgunner, buddhist, chg и прочим - как будто обфусцировать код чем-то лучше, чем играть в стимоигры. Просто лор форум для тех же пользователей проприетарного софта и воров, которые и виндой пользуются

anonymous
()
Ответ на: комментарий от anonymous

Кого ты тут вором обозвал, копирастическая подстилка. Запомни, копирование - это не воровство.

anonymous
()

язабан. ТС совсем попутал.

dikiy ★★☆☆☆
()
Ответ на: комментарий от anonymous

как будто обфусцировать код чем-то лучше, чем играть в стимоигры

Я не играю в стимоигры. И если хочешь обфусцировать свой код - мне безразлично, чем ты занимаешься в спальне... пока ты занимаешься этим в спальне.

tailgunner ★★★★★
()
Ответ на: комментарий от anonymous

Запомни, копирование - это не воровство.

Конечно, копирование - это налюбилово, тебе зарплату банально не платят. Только несознательные отбросы общества могут копировать не платя авторам. Из за таких негодяев теперь нормальным людям приходится мириться с блокированием гитхабов.

anonymous
()
Ответ на: комментарий от jcd

почему?

Чтобы все видели, что он элитка, типа, весь такой свободный.

ИМХО - идиотизм. Какая разница, что там делает человек со своим кодом?

Жаль, по теме ничего не могу подсказать, ибо не в курсе.

Zhbert ★★★★★
()

скажите простыми словами. что надо сделать, чтобы entry не дублировались?

Не делай обфускацию. Это неэтично по отношению к пользователю.

Chaser_Andrey ★★★★★
()
Ответ на: комментарий от Zhbert

ИМХО - идиотизм. Какая разница, что там делает человек со своим кодом?

Этим продуктом потом пользоваться людям, которые даже не смогут изменить его.

Chaser_Andrey ★★★★★
()
Ответ на: комментарий от Chaser_Andrey

Этим продуктом потом пользоваться людям, которые даже не смогут изменить его.

Разупорись. Многим это нужно?
Вот столько ты кода понаизменял?

Zhbert ★★★★★
()
Ответ на: комментарий от Zhbert

Разупорись. Многим это нужно?

Если человек сам не программист - он может нанять его, чтобы тот осуществил его задумку за приемлемую цену. На фриланс-биржах такое бывает не так уж и редко.

Вот столько ты кода понаизменял?

Достаточно, чтобы осознать полезность свободных исходников. Часть кода изменял под заказы другим людям.

Chaser_Andrey ★★★★★
()
Ответ на: комментарий от Zhbert

Олсо, от серьезного геймдева меня остановило отсутствие исходников для Warcraft III, GTA 3/ViceCity и Космических Рейнджеров. Эти вещи я хотел портировать на Linux, но увы...

Chaser_Andrey ★★★★★
()
5 октября 2016 г.
Ответ на: комментарий от ieeya

Ну вы тут и дикие все

На кой черт вообще нужен ваш форум если вместо того, что бы помочь, или если не хватает мозгов пройти мимо никто тут больше ни на что кроме как обосрать юзера не способен. Админы куда смотрят. Ну и помойка. Прохожу мимо.

anonymous
()
Ответ на: комментарий от anonymous

Если не понял ты, глупый значит.

anonymous
()

Вот так и рождаются конченные проприерасы, любой нормальный человек счёл бы это дикостью. У них же совршенно инородное мышление, что мы и наблюдаем в данном топике. Я всё же верю в розовых пони и надеюсь, что такие люди достаточно редко добираются до что-либо значащих мест в обществе.

anonymous
()
Ответ на: Ну вы тут и дикие все от anonymous

Форум посвящен GNU/Linux и свободному программному обеспечению. Обфускация - это неэтично по отношению к конечному пользователю, потому и отказались все помогать.

anonymous00 ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.