Аннотации и приложения AndroidIdSuffix

Я недавно пробовал аннотации Android, и все было хорошо, пока я не решил добавить applicationIdSuffix в buildTypes в мой файл build.gradle, В настоящее время это выглядит так:

buildTypes {
    debug {
        applicationIdSuffix '.debug'
    }

    ...
}

И после компиляции я получаю следующий журнал в консоли gradle:

: приложение: preDebugBuild UP-TO-DATE
  : Приложение: checkDebugManifest
: приложение: preReleaseBuild UP-TO-DATE
: приложение: pre_testBuild UP-TO-DATE
: приложение: prepareComAndroidSupportAppcompatV72220Library UP-TO-DATE
: приложение: prepareComAndroidSupportSupportV42220Library UP-TO-DATE
: Приложение: prepareDebugDependencies
: app: compileDebugAidl UP-TO-DATE
: app: compileDebugRenderscript UP-TO-DATE
: приложение: generateDebugBuildConfig UP-TO-DATE
: приложение: generateDebugAssets UP-TO-DATE
: приложение: mergeDebugAssets UP-TO-DATE
: app: generateDebugResValues ​​UP-TO-DATE
: Приложение: processDebugGoogleServices
Не найдено подходящего клиента для имени пакета "org.me.myapp.debug"
: Приложение: generateDebugResources
: app: mergeDebugResources UP-TO-DATE
: приложение: processDebugManifest UP-TO-DATE
: app: processDebugResources UP-TO-DATE
: app: generateDebugSources UP-TO-DATE
: приложение: processDebugJavaRes UP-TO-DATE
: Приложение: compileDebugJavaWithJavac
Примечание. Разрешите файл журнала в /dir/myapp/app/build/generated/source/apt/androidannotations.log
Примечание. Инициализируйте AndroidAnnotations 3.3.1 с помощью опций {androidManifestFile =/dir/myapp/app/build/intermediates/manifestests/full/debug/AndroidManifest.xml}
Примечание: начать обработку для 4 аннотаций на 18 элементов
Примечание. Файл AndroidManifest.xml найден с указанным путем:/dir/myapp/app/build/intermediates/manifests/full/debug/AndroidManifest.xml Примечание: AndroidManifest.xml найдено: AndroidManifest [applicationPackage = org.me.myapp.debug, componentQualifiedNames = [org.me.myapp.ui.MainActivity_, net.hockeyapp.android.UpdateActivity], permissionQualifiedNames = [android.permission.ACCESS_WIFI_STATE, android.permission.ACCESS_NETWORK_STATE], applicationClassName = null, libraryProject = false, debugabble = false, minSdkVersion = 15, maxSdkVersion = -1, targetSdkVersion = 22]
error: Сгенерированный класс org.me.myapp.debug.R не найден.
Примечание: Найдено Android-класс: android.R
Примечание. Измерения времени: [Целая обработка = 15 мс], [Извлечь манифест = 4 мс], [Извлечь аннотации = 3 мс],
Примечание: Обработка отделки
Примечание. Начать обработку для 0 аннотаций на 0 элементов
Примечание. Измерения времени: [Целая обработка = 0 мс],
Примечание: Обработка отделки
1 ошибка
FAILED
FAILURE: Сбой сборки с исключением.
* Что пошло не так:
Выполнение не выполнено для задачи ': app: compileDebugJavaWithJavac'.

Я снова попробовал очистить и перестроить, удалив каталог generated из проекта, но ничего не помогает. Если я удаляю файл applicationIdSuffix из build.gradle, все работает нормально. Как я могу исправить эту проблему?

Ответ 1

Удалите эту строку из файла build.gradle:

resourcePackageName android.variant.applicationId

Изменить: попробуйте добавить эту строку в блок apt:

resourcePackageName "org.me.myapp"

Ответ 2

Для меня это происходило, потому что google-services.json имел в виду имя моего производственного пакета. Лучшее решение на момент написания этой статьи, похоже, состоит в том, чтобы либо написать свои собственные задачи gradle для переключения между версиями файла release и debug, либо включить оба файла в файл:

google-services.json для разных продуктовFlavors