После обновления столкновения peromission платформы Android (отладка и выпуск приложения установлены одновременно) - PullRequest
0 голосов
/ 19 июня 2019

Мы хотим установить отладочную и выпускную версии вместе на 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, и суффикса отладки больше не достаточно.

...