目前,我正在使用android-topeka示例项目开发安卓即时应用程序。
在我在我的活动中使用AndroidAnnotations之后,一切都如期而至:
@EActivity(resName = "activity_start")
public class StartActivity extends AppCompatActivity {
...
}如果我想启动application(:installed) 1,一切正常,但是对于instant-app(:instant),,我得到以下错误:
: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项目中配置)。
发布于 2018-10-29 07:12:22
最后,我得到了它,借助这个问题跟踪器(thx到Kay-Uwe Janssen)。对杰茜也是。总的来说,这是与Manifest Finder和annotationProcessorOptions相结合的设置。
这就是我的gradle/Manifest设置的样子:
基地:
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>Instant:
build.gradle:
android {
defaultConfig {}
}
dependencies {
implementation project(':base')
}使用此设置,即时应用程序具有与已安装的应用程序Id相同的"com.test2“。
发布于 2018-10-25 09:56:15
基于这个如此相关的职位
修改applicationId时会发生此错误。示例中提供的脚本假定您已经声明了android.defaultConfig.applicationId。如果未声明此值,则该值将为null,或者它将生成null.R。
defaultConfig { // Config javaCompileOptions { annotationProcessorOptions {resourcePackageName= "resourcePackageName":“}
注意:原始Package Name应该与活动中R的位置相同。
https://stackoverflow.com/questions/52972693
复制相似问题