Почему конфигурация подписи требуется для пользовательского типа сборки, а не для `release`? - PullRequest
0 голосов
/ 10 января 2020

У меня есть пользовательский тип сборки beta, определенный следующим образом:

buildTypes {                                                                                       

    debug {                                                                                        
        applicationIdSuffix ".debug"                                                               
        testCoverageEnabled = false                                                                
    }                                                                                              

    release {                                                                                      
        minifyEnabled true                                                                         
        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
    }                                                                                              

    beta {                                                                                         
        initWith release                                                                                                                                              
    }                                                                                              
}  

Учитывая, что beta использует initWith release, можно ожидать, что бета-версия будет иметь все свойства release. Однако при попытке запустить beta, Android Studio отобразит следующую ошибку

"APK для вашего текущего выбранного варианта не подписан ..."

Создание конфигурации подписи в настройках проекта, выбор ее и нажатие кнопки «Применить» не работает. Вместо этого необходимо вручную написать конфигурацию подписи:

signingConfigs {
    beta {
        storeFile file(‘…’)
        storePassword ‘…’
        keyAlias = ‘…’
        keyPassword ‘…’
    }
}

Вопросы:

  1. Почему конфигурацию подписи необходимо записывать вручную в сборке script?
  2. Почему тип сборки release не требует явной настройки подписи, пока вы go не создадите подписанный APK? *
  3. Учитывая, что beta должно быть точно как release через initWith release, почему поведение отличается, как показано выше?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...