У меня есть проект с несколькими вкусами, который построен CI и опубликован в HockeyApp. Каждый аромат имеет ApplicationID и apiToken, которая хранится в самой аромата (чтобы сохранить все важные переменные в одном месте):Создайте и получите доступ к переменным productFlavor в файле android build.gradle
def token = null
productFlavors {
prod {
applicationId "de.example.appname"
buildConfigField 'String', 'FLAVOR_ID', '"0"'
buildConfigField 'String', 'HOCKEY_APP_ID', '"1234567890"'
token = "1q2w3e4r5t6z7u8i9o0p"
}
demo {
applicationId "de.example.appname.demo"
buildConfigField 'String', 'FLAVOR_ID', '"1"'
buildConfigField 'String', 'HOCKEY_APP_ID', '"987654321"'
token = "p0o9i8u7z6t5r4e3w2q1"
}
}
На том же уровне, как «productFlavors» Есть hockeyApp-настройки:
hockeyapp {
apiToken = token
releaseType = 0
notify = 0
status = 1
notesType = 1
notes = "Uploaded with gradle"
}
Для отладки кода я построить & загрузить .apk-файл с помощью терминала:
./gradlew uploadProdReleaseToHockeyApp [...]
К сожалению, переменный токен продукта-продукта всегда переопределяется демо-значением. Поэтому после каждого процесса загрузки я получаю такие ошибки, как
Ошибка ответа от HockeyApp: приложение не может быть создано.
потому что град пытается загрузить прод-аромат с помощью демонстрационного токена.
Вот некоторые дополнительные основные данные:
compileSdkVersion 24
buildToolsVersion "24.0.1"
compile 'net.hockeyapp.android:HockeySDK:4.0.0'
classpath 'com.android.tools.build:gradle:2.1.3'
classpath 'de.felixschulze.gradle:gradle-hockeyapp-plugin:3.5'
на основе моих требований, есть решение для определения аромата-переменных и доступа к ним в показанном образом?
Это похоже на [этот неотвеченный вопрос] (http://stackoverflow.com/questions/35956182/is-there-a-way-to-change-gradle-variable-value-based-on-selected-productflavor ? RQ = 1). См. Также [эту тему] (http://stackoverflow.com/questions/17197636/is-it-possible-to-declare-a-variable-in-gradle-usable-in-java), которая может обеспечить решение. –
Привет, я нашел какое-либо решение? Я ищу то же самое. – iMDroid
@iMDroid взгляните на мой правильный заметный ответ ;-) – JU5T1C3