首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AndroidAnnotations +即时应用程序-无法找到生成的<applicationId>.R类

AndroidAnnotations +即时应用程序-无法找到生成的<applicationId>.R类
EN

Stack Overflow用户
提问于 2018-10-24 15:23:19
回答 2查看 285关注 0票数 1

目前,我正在使用android-topeka示例项目开发安卓即时应用程序。

在我在我的活动中使用AndroidAnnotations之后,一切都如期而至:

代码语言:javascript
复制
@EActivity(resName = "activity_start")
public class StartActivity extends AppCompatActivity {
...
}

如果我想启动application(:installed) 1,一切正常,但是对于instant-app(:instant),,我得到以下错误:

代码语言:javascript
复制
:base:javaPreCompileDebugFeature UP-TO-DATE
error: The generated <applicationId>.R class cannot be found
1 error
:base:compileDebugFeatureJavaWithJavac FAILED

附加信息:

如果删除基本application-id中的application project(':installed'),则可以启动即时应用程序,但使用错误的build.gradle (在:installed项目中配置)。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-10-29 07:12:22

最后,我得到了它,借助这个问题跟踪器(thx到Kay-Uwe Janssen)。对杰茜也是。总的来说,这是与Manifest Finder和annotationProcessorOptions相结合的设置。

这就是我的gradle/Manifest设置的样子:

基地:

build.gradle:

代码语言:javascript
复制
android {
    ...

    baseFeature true

    defaultConfig {
        ...

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

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

AndroidManifest.xml:

代码语言:javascript
复制
<manifest ...
    package="com.test.base">
    ...
</manifest>

安装

build.gradle:

代码语言:javascript
复制
android {
      ...
}

dependencies {
    implementation project(':base')
}

AndroidManifest.xml:

代码语言:javascript
复制
<manifest package="com.test2">
</manifest>

Instant:

build.gradle:

代码语言:javascript
复制
android {
    defaultConfig {}
}

dependencies {
    implementation project(':base')
}

使用此设置,即时应用程序具有与已安装的应用程序Id相同的"com.test2“。

票数 1
EN

Stack Overflow用户

发布于 2018-10-25 09:56:15

基于这个如此相关的职位

修改applicationId时会发生此错误。示例中提供的脚本假定您已经声明了android.defaultConfig.applicationId。如果未声明此值,则该值将为null,或者它将生成null.R

defaultConfig { // Config javaCompileOptions { annotationProcessorOptions {resourcePackageName= "resourcePackageName":“}

注意:原始Package Name应该与活动中R的位置相同。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52972693

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档