Мы хотим установить отладочную и выпускную версии вместе на Android.Используется Ionic + cordova, и проблема вызвана одним сигналом.
На cordova-android@6.4 мы использовали следующий скрипт:
cat -> platforms/android/build-extras.gradle <<EOF
ext.postBuildExtras = {
android.buildTypes.debug.applicationIdSuffix = '.debug'
}
EOF
if [[ $CORDOVA_CMDLINE = *"--release"* ]]; then
pattern="s,com\.appname\.app\.debug\.permission\.RECEIVE_ADM_MESSAGE,com\.appname\.app\.permission\.RECEIVE_ADM_MESSAGE,g"
else
pattern="s,com\.appname\.app\.permission\.RECEIVE_ADM_MESSAGE,com\.appname\.app\.debug\.permission\.RECEIVE_ADM_MESSAGE,g"
fi
perl -pi -e $pattern platforms/android/AndroidManifest.xml platforms/android/android.json
Это добавит суффикс приложения отладки.И добавлены разрешения для односигнала в android-манифесте для push-уведомлений.
Раньше не было конфликтов с управлением разрешениями, теперь с cordova-android@8.0.0 мы устанавливаем отладочную версию, после этого я запускаю сборку релиза, и когда я пытаюсь установить ее, мы видим:
Failure [INSTALL_FAILED_DUPLICATE_PERMISSION: Package com.appname.app attempting to redeclare permission com.appname.app.permission.RECEIVE_ADM_MESSAGE already owned by com.appname.app.debug]
Кажется, я не могу найти то, что изменилось в кордове (или одном сигнале), что вызвало это.Я предполагаю, что правильное управление изменилось в Android, и суффикса отладки больше не достаточно.