Как разработать производственную и бета-версии одного и того же приложения для установки на одном устройстве

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

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

I/dalvikvm: Could not find method android.app.Fragment.setSharedElementEnterTransition, referenced from method com.corp.app.AccountFrag.access$super

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

Кто-нибудь имел дело с этой проблемой раньше? Я подозреваю, что мне нужно изучить ароматы, но я не знаю.

Заранее спасибо за понимание.


person Graph    schedule 03.05.2016    source источник
comment
Используйте пользовательский тип сборки beta с другим applicationIdSuffix.   -  person CommonsWare    schedule 03.05.2016


Ответы (1)


Использование должно использовать другой тип сборки для бета-версии.

В build.gradle вашего модуля приложения

android {

buildTypes {
        beta {
            applicationIdSuffix ".beta"
            versionNameSuffix "-beta"
            resValue "string", "app_name", "Beta App"
        }
        debug {

        }
        release {

        }
    }
}

Здесь мы добавляем суффикс «бета» к идентификатору приложения вашего приложения. Таким образом, у вас может быть 2 варианта вашего приложения. Если вам нужно более двух вариантов для одного мобильного телефона, просто добавьте еще один вариант с другим суффиксом.

Чтобы использовать имя пакета в AndroidManifest, используйте ${applicationId} вместо com.example.dinesh. Если вы хотите использовать имя пакета в классах Java, используйте BuildConfig.APPLICATION_ID.

В этом случае нельзя использовать ароматизаторы продукта. Варианты продукта используются, когда у вас есть два типа одного и того же продукта, например обычное приложение и платное приложение. Чтобы иметь бета-версию вашего приложения, вы должны использовать типы сборки.

person Bob    schedule 03.05.2016
comment
Спасибо за ответ, но я не понимаю. Я добавил этот код в свой файл build.gradle, но не знаю, как компилировать и генерировать разные версии. - person Graph; 03.05.2016
comment
обратитесь сюда: medium.com/yplan-eng/ - person Bob; 03.05.2016
comment
в левом нижнем углу Android Studio вы можете увидеть параметр с именем «Варианты сборки». Нажмите на него и выберите вариант сборки, который вы хотите запустить сейчас. ссылка на изображение здесь: cms-assets.tutsplus .com/uploads/users/798/posts/25005/image/ - person Bob; 03.05.2016
comment
Спасибо! Я этого не знал :) Можно ли создать и то, и другое одновременно? Кроме того, у меня проблемы с контент-провайдером приложения, но я думаю, это другой вопрос... - person Graph; 03.05.2016
comment
В представлении Gradle у вас есть множество задач на выбор, одна в категории сборки будет называться сборкой, которая будет собирать все варианты вашего приложения. - person nasch; 04.05.2016
comment
См. здесь stackoverflow.com/a/24850080/4586742 проблемы с ContentProvider из-за вариантов сборки. @График - person Bob; 04.05.2016