Android: SearchableInfo имеет значение null при использовании packageNameSuffix в скрипте сборки Gradle

Я столкнулся с этим методомgetSearchableInfo всегда возвращает ноль во времяSearchView инициализация, если я используюpackageNameSuffix в проектеСкрипт сборки Gradle.

Инициализация SearchView:

final SearchManager searchManager = (SearchManager) context.getSystemService(Context.SEARCH_SERVICE);
SearchableInfo info = searchManager.getSearchableInfo(componentName);
mSearchView.setSearchableInfo(info);

Проект»s build.gradle:

android {
    [...]
    buildTypes {
        debug {
            packageNameSuffix ".debug"
            versionNameSuffix "-debug"
            signingConfig signingConfigs.debug
        }
        [...]
    }
}

Если суффикс пакета не используется, данныйcomponentName являетсяComponentInfo{com.example.android/com.example.android.MapActivity} иSearchView а также связанные с нимSuggestionsProvider отлично работает

Но еслиpackageNameSuffix установлен в".debug"данныйcomponentName являетсяComponentInfo{com.example.android.debug/com.example.android.MapActivity} иSearchManager возвращаетсяnullвместо возврата соответствующегоSearchableInfo объект.

Кто-нибудь знает как получить праваSearchableInfo отSearchManager? Спасибо!

[РЕДАКТИРОВАТЬ]

В комментариях Евгений Мартинов отметил, что такое поведение может быть связано с неправильным или отсутствующим переименованием властей. Но я также настроил именование полномочий, зависящее от типа сборки, которое для простоты опущено в первоначальном посте.

Проект»s build.gradle:

android {
    [...]
    sourceSets {
        debug {
            java.srcDirs = [
                'src/main/java'
            ]
            java.srcDirs = [
                'src/debug/res',
                'src/main/res'
            ]
        }
        release {
            java.srcDirs = [
                'src/main/java'
            ]
            java.srcDirs = [
                'src/release/res',
                'src/main/res'
            ]
        }
        [...]
    }
}

SRC / отлаживать / RES / значения / строить-config.xml:



    App - Debug
    com.example.debug.SuggestionsProvider
    

SRC / отпускания / RES / значения / строить-config.xml:



    App
    com.example.SuggestionsProvider
    

SRC / главная / RES / XML / searchable.xml:



Установка как отладки (сpackageNameSuffix вариант) и релиз apk на том же устройстве работает. Я нене получить ошибку, какFailure [INSTALL_FAILED_CONFLICTING_PROVIDER]... но, как уже было сказано,SearchableInfo являетсяnull затем.

Установка обоих apk безpackageNameSuffix Опция приводит к следующей ошибке:Failure [INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES] - Installation failed since the device already has an application with the same package but a different signature.

Или я что-то здесь упускаю?

[/РЕДАКТИРОВАТЬ]

Ответы на вопрос(1)

Ваш ответ на вопрос