Как создать скрипт, который будет собирать apk из источников с строковым ресурсом xml в качестве параметра?

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

Допустим, у меня есть проект приложения Android Studio со всеми исходниками и библиотеками внутри него, и теперь мне нужно скомпилировать этот проект 3 раза для 3 разных приложений для разработки facebook. Это требует создания приложения 3 раза, каждый с другим идентификатором приложения facebook (идентификатор приложения хранится в ресурсах XML).

На данный момент идентификатор приложения жестко закодирован в строковых ресурсах XML, но это неудобно для неразработчиков, поскольку они не знают, как перестроить проект.

Ожидаемым решением будет скрипт, который работает так:

compile.sh <project_path> <fb_app_id>

Что создает файл APK с идентификатором приложения FB, хранящимся в ресурсах строки XML.


person Bartłomiej Sobieszek    schedule 15.02.2018    source источник


Ответы (1)


Вы можете вводить ресурсы с помощью gradle write в свой раздел defaultConfig resValue "string", "{resource id}", "\"$FB_APP_ID\"" и строить с помощью gradle. Вы должны запустить gradle с -PFB_APP_ID="{идентификатор вашего приложения}", например ./gradlew assembleDebug -PFB_APP_ID="10"

person Andrew    schedule 15.02.2018
comment
Получил это со строкой resValue, welcomeTextMessage, findProperty(WELCOME_TEXT_MESSAGE) Мне кажется более понятным. Спасибо - person Bartłomiej Sobieszek; 15.02.2018