AndroidAnnotations + Instant App - сгенерированный класс <applicationId>.R не найден - PullRequest
0 голосов
/ 24 октября 2018

В настоящее время я работаю над мгновенными приложениями для Android, используя пример проекта android-topeka .

Все работает, как и ожидалось, после того, как я использую Аннотации Android в моей деятельности:

@EActivity(resName = "activity_start")
public class StartActivity extends AppCompatActivity {
...
}

Если я хочу запустить приложение (:installed), все работает, но для instant-app (:instant), я получаю следующую ошибку:

:base:javaPreCompileDebugFeature UP-TO-DATE
error: The generated <applicationId>.R class cannot be found
1 error
:base:compileDebugFeatureJavaWithJavac FAILED

Дополнительная информация:

Если я удаляю application project(':installed') в базовом build.gradleЯ могу запустить instant-app , но с неправильным application-id (настроенным в проекте :installed).

Ответы [ 2 ]

0 голосов
/ 29 октября 2018

Наконец-то я получил его, с помощью этого выпуска трекера (спасибо Кей-Уве Янссену).Также спасибо Джесс.В целом это была установка в сочетании с Manifest Finder и annotationProcessorOptions.

. Вот так выглядит моя настройка gradle / Manifest:

Base:

build.gradle:

android {
    ...

    baseFeature true

    defaultConfig {
        ...

        javaCompileOptions {
            annotationProcessorOptions {
                arguments = ["resourcePackageName": "com.test.base"]
            }
        }
    }

    buildTypes {
        release {
        }
    }
}
dependencies {
    application project(':installed')
    ...
}

AndroidManifest.xml:

<manifest ...
    package="com.test.base">
    ...
</manifest>

Установлено:

build.gradle:

android {
      ...
}

dependencies {
    implementation project(':base')
}

AndroidManifest.xml:

<manifest package="com.test2">
</manifest>

Мгновенное действие:

build.gradle:

android {
    defaultConfig {}
}

dependencies {
    implementation project(':base')
}

СПри этой установке мгновенное приложение имеет тот же идентификатор приложения, что и установленный "com.test2"

0 голосов
/ 25 октября 2018

Основано на этом ТАКОМ посте :

Эта ошибка возникает при изменении applicationId.Сценарий, представленный в примере, предполагает, что вы объявили android.defaultConfig.applicationId.Если это не было объявлено, значение будет null или оно генерирует null.R .

defaultConfig {

    // Rest of Config

    javaCompileOptions {
            annotationProcessorOptions {
                arguments = ["resourcePackageName": "<Original Package Name>"]
            }
    }
}

Примечание: Оригинал Package Name должен совпадать с местоположением R в вашей деятельности.

...