Изменить имя пакета через командную строку (без Android Studio) - PullRequest
0 голосов
/ 02 марта 2020

У меня есть приложение, которое должно быть построено под несколькими именами пакетов с небольшими изменениями в ресурсах. Эти изменения так же просты, как изменение Strings.xml, Colors.xml, имя пакета в Gradle и манифесте, а также изменение значков и других файлов ресурсов. Все эти изменения могут быть сделаны через командную строку легко. Самая сложная часть, которую я хочу автоматизировать, - это имя пакета (которое выполняется через Refactor-> Rename в Android Studio).

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

1 Ответ

1 голос
/ 02 марта 2020

Более простой способ добиться этого - создать различные варианты продукта, например:

android {
    ...

    flavorDimensions "version"

    productFlavors {
        flavourA {
            applicationId "com.myapp.name"
        }

        flavourB {
            applicationId "com.myapp.anothername"
        }
    }
}

Обратите внимание: если вы не хотите устанавливать абсолютно новый идентификатор приложения (пакета) для каждого варианта, но просто добавьте суффикс, который вы можете сделать, как в следующем примере:

flavourA {
    applicationIdSuffix ".mysuffix"
}

Скажите, что ваш пакет приложения com.test.myapp. С суффиксом это будет com.test.myapp.mysuffix, когда вы создадите свое приложение с flavourA.

Затем, чтобы создать свой специфический c вариант с командной строкой, вы должны сделать:

APK

./gradlew assembleFlavourADebug // for debug builds
./gradlew assembleFlavourARelease // for release builds

Связка

./gradlew bundleFlavourADebug
./gradlew bundleFlavourARelease

Что касается вашего цвета, строка, и т. Д. c. ресурсы, которые вы можете создавать файлы ресурсов специально для каждого аромата, с которым вы имеете дело.

src
 |
 +--- main
 |     |
 |     +--- res
 |           |
 |           +--- values
 |                  |
 |                  +--- strings.xml
 +--- flavourA
 |       |
 |       +--- res
 |           |
 |           +--- values
 |                  |
 |                  +--- strings.xml
 |
 +--- flavourB
         |
         +--- res
              |
              +--- values
                    |
                    +--- strings.xml
...