Я бы хотел, чтобы Gradle заменял переменные applicationId и package случайной строкой во время сборки. Вот что я пробовал:
// build.gradle (project)
class Scrambler {
Random random = new Random()
String getRandomString(int i) {
return random.with {(1..(6 + random.nextInt(i))).collect {(('a'..'z')).join()[ nextInt((('a'..'z')).join().length())]}.join()}
}
}
Scrambler scrambler = new Scrambler()
android {
compileSdkVersion 29
buildToolsVersion "29.0.2"
defaultConfig {
applicationId "com.${scrambler.getRandomString(2)}.${scrambler.getRandomString(2)}"
// com.ohukcgn.vpybhkh (example)
...
На этом этапе все java классы все еще привязаны к исходному имени пакета:
com.ohukcgn.vpybhkh/com.original.name.MainActivity // example
И это git, потому что я не изменил путь для них.
Но теперь, что я должен сделать для полного рефакторинга?
com.ohukcgn.vpybhkh/com.ohukcgn.vpybhkh.MainActivity // goal
Я мог бы сделать сценарий для этого (который переименовал бы каталоги и так на ...), но я не уверен, что это будет правильно.