Обходной путь для Обфускатона имен действий - PullRequest
0 голосов
/ 14 мая 2018

Я хочу скрыть названия своих занятий. Из других вопросов я понимаю, что вы не можете скрыть имена действий, даже с ProGuard, потому что на них ссылаются их имена.

Хотя, если можно изменить имена действий перед компиляцией, почему не может быть способа автоматического изменения имен действий на предопределенные теневые имена с использованием некоторого сценария или, возможно, с использованием некоторых правил ProGuard для сопоставления имен действий с предопределенными именами.

Например, я мог бы сделать следующее:

MainActivity -> GibberishName

ProcessingActivity -> OtherGibberishName

Я хочу автоматизировать эту задачу без необходимости изменять имена действий в каждой сборке.

Спасибо.

1 Ответ

0 голосов
/ 14 мая 2018

Поместите следующие строки в файл build.gradle уровня приложения:

buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    } 

Но это все равно не запутает название вашей деятельности, потому что это нормальное поведение.

Имена действий никогда не запутываются, потому что на них ссылаются в manifest.xml, и Android обращается к этим действиям через отражение, поэтому их имена нельзя изменить.

Проверьте эту ссылку https://stackoverflow.com/a/20620108/1320616

...