Note that there are some explanatory texts on larger screens.

plurals
  1. POAndroidAnnotations processing fails in IntelliJ because R.java isn't generated
    primarykey
    data
    text
    <p>I think there's some problem with IntelliJ when it generates the R.java file, which leads to a problem in AndroidAnnotations because it can't resolve the resource id for my layout.</p> <p>Here's my activity:</p> <pre><code>package com.airlocksoftware.canvastest; import android.app.Activity; import android.os.Bundle; import com.googlecode.androidannotations.annotations.EActivity; @EActivity(R.layout.main) public class MyActivity extends Activity { /** * Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); } } </code></pre> <p>What's weird is that even if I comment out the annotation, and do <code>setContentView(R.layout.main)</code>, it works fine even though R.java is never imported.</p> <p>By the way, the layout is just a simple "Hello World". Nothing weird going on there.</p> <p>No matter what I do, I can't get AndroidAnnotations to generate <code>CanvasActivity_.java</code>. My pom.xml looks like this:</p> <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"&gt; &lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt; &lt;groupId&gt;com.airlocksoftware.canvastest&lt;/groupId&gt; &lt;artifactId&gt;CanvasTest&lt;/artifactId&gt; &lt;version&gt;1.0-SNAPSHOT&lt;/version&gt; &lt;properties&gt; &lt;project.build.sourceEncoding&gt;UTF-8&lt;/project.build.sourceEncoding&gt; &lt;android.version&gt;4.2.2_r2&lt;/android.version&gt; &lt;android.platform&gt;17&lt;/android.platform&gt; &lt;androidannotations.version&gt;2.7.1&lt;/androidannotations.version&gt; &lt;java.version&gt;1.6&lt;/java.version&gt; &lt;/properties&gt; &lt;repositories&gt; &lt;repository&gt; &lt;id&gt;local-repo&lt;/id&gt; &lt;url&gt;file:///${env.HOME}/.m2/repository&lt;/url&gt; &lt;/repository&gt; &lt;/repositories&gt; &lt;dependencies&gt; &lt;dependency&gt; &lt;groupId&gt;android&lt;/groupId&gt; &lt;artifactId&gt;android&lt;/artifactId&gt; &lt;version&gt;${android.version}&lt;/version&gt; &lt;scope&gt;provided&lt;/scope&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;com.googlecode.androidannotations&lt;/groupId&gt; &lt;artifactId&gt;androidannotations&lt;/artifactId&gt; &lt;version&gt;${androidannotations.version}&lt;/version&gt; &lt;scope&gt;provided&lt;/scope&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;com.googlecode.androidannotations&lt;/groupId&gt; &lt;artifactId&gt;androidannotations-api&lt;/artifactId&gt; &lt;version&gt;${androidannotations.version}&lt;/version&gt; &lt;/dependency&gt; &lt;/dependencies&gt; &lt;build&gt; &lt;plugins&gt; &lt;plugin&gt; &lt;artifactId&gt;maven-compiler-plugin&lt;/artifactId&gt; &lt;version&gt;2.5.1&lt;/version&gt; &lt;configuration&gt; &lt;source&gt;${java.version}&lt;/source&gt; &lt;target&gt;${java.version}&lt;/target&gt; &lt;/configuration&gt; &lt;/plugin&gt; &lt;plugin&gt; &lt;groupId&gt;com.jayway.maven.plugins.android.generation2&lt;/groupId&gt; &lt;artifactId&gt;android-maven-plugin&lt;/artifactId&gt; &lt;version&gt;3.4.0&lt;/version&gt; &lt;configuration&gt; &lt;sdk&gt; &lt;platform&gt;${android.platform}&lt;/platform&gt; &lt;/sdk&gt; &lt;undeployBeforeDeploy&gt;true&lt;/undeployBeforeDeploy&gt; &lt;/configuration&gt; &lt;extensions&gt;true&lt;/extensions&gt; &lt;/plugin&gt; &lt;/plugins&gt; &lt;/build&gt; &lt;/project&gt; </code></pre> <p>The annotation processing <a href="https://i.imgur.com/BCrlyYa.png" rel="nofollow noreferrer">set up like shown in this screenshot.</a> </p> <p><img src="https://i.stack.imgur.com/27pqx.png" alt="annotation processing"></p> <p>Basically I setup the processor path to point to the jar files in my local maven repo, as <a href="http://www.ashokgelal.com/2012/12/setting-up-intellij-idea-12-with-maven-actionbarsherlock-roboelectric-androidannotations/" rel="nofollow noreferrer">described here.</a></p> <p>The projects sources are set up <a href="https://i.imgur.com/TlnOBZf.png" rel="nofollow noreferrer">like shown in this screenshot.</a></p> <p><img src="https://i.stack.imgur.com/Vi8H3.png" alt="project sources"></p> <p>No matter how I make / rebuild the project, nothing ever shows up in gen/aa (and thus I can't reference CanvasActivity_.java) I ran mvn clean install from the project root, which fails with this stacktrace.</p> <pre><code>INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 4.363s [INFO] Finished at: Sat May 18 15:53:06 MDT 2013 [INFO] Final Memory: 11M/81M [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.5.1:compile (default-compile) on project CanvasProto: Compilation failure: Compilation failure: [ERROR] /Users/matthewbbishop/Clients/proto/CanvasProto/src/main/java/com/airlocksoftware/CanvasProto/CanvasActivity.java:[6,38] cannot find symbol [ERROR] symbol : class R [ERROR] location: package com.airlocksoftware.CanvasProto [ERROR] /Users/matthewbbishop/Clients//proto/CanvasProto/src/main/java/com/airlocksoftware/CanvasProto/CanvasActivity.java:[11,12] package R does not exist [ERROR] /Users/matthewbbishop/Clients/proto/CanvasProto/src/main/java/com/airlocksoftware/CanvasProto/CanvasActivity.java:[14,15] package R does not exist [ERROR] error: Unexpected error. Please report an issue on AndroidAnnotations, with the following content: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException [ERROR] at com.googlecode.androidannotations.helper.AnnotationHelper.extractAnnotationParameter(AnnotationHelper.java:293) [ERROR] at com.googlecode.androidannotations.helper.AnnotationHelper.extractAnnotationResIdValueParameter(AnnotationHelper.java:269) [ERROR] at com.googlecode.androidannotations.helper.IdValidatorHelper.resIdsExist(IdValidatorHelper.java:45) [ERROR] at com.googlecode.androidannotations.validation.EActivityValidator.validate(EActivityValidator.java:55) [ERROR] at com.googlecode.androidannotations.validation.ModelValidator.validate(ModelValidator.java:56) [ERROR] at com.googlecode.androidannotations.AndroidAnnotationProcessor.validateAnnotations(AndroidAnnotationProcessor.java:414) [ERROR] at com.googlecode.androidannotations.AndroidAnnotationProcessor.processThrowing(AndroidAnnotationProcessor.java:364) [ERROR] at com.googlecode.androidannotations.AndroidAnnotationProcessor.process(AndroidAnnotationProcessor.java:341) [ERROR] at com.sun.tools.javac.processing.JavacProcessingEnvironment.callProcessor(JavacProcessingEnvironment.java:627) [ERROR] at com.sun.tools.javac.processing.JavacProcessingEnvironment.discoverAndRunProcs(JavacProcessingEnvironment.java:556) [ERROR] at com.sun.tools.javac.processing.JavacProcessingEnvironment.doProcessing(JavacProcessingEnvironment.java:701) [ERROR] at com.sun.tools.javac.main.JavaCompiler.processAnnotations(JavaCompiler.java:987) [ERROR] at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:727) [ERROR] at com.sun.tools.javac.main.Main.compile(Main.java:353) [ERROR] at com.sun.tools.javac.main.Main.compile(Main.java:279) [ERROR] at com.sun.tools.javac.main.Main.compile(Main.java:270) [ERROR] at com.sun.tools.javac.Main.compile(Main.java:87) [ERROR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [ERROR] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [ERROR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [ERROR] at java.lang.reflect.Method.invoke(Method.java:597) [ERROR] at org.codehaus.plexus.compiler.javac.JavacCompiler.compileInProcess0(JavacCompiler.java:551) [ERROR] at org.codehaus.plexus.compiler.javac.JavacCompiler.compileInProcess(JavacCompiler.java:526) [ERROR] at org.codehaus.plexus.compiler.javac.JavacCompiler.compile(JavacCompiler.java:167) [ERROR] at org.apache.maven.plugin.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:678) [ERROR] at org.apache.maven.plugin.CompilerMojo.execute(CompilerMojo.java:128) [ERROR] at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101) [ERROR] at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209) [ERROR] at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) [ERROR] at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) [ERROR] at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84) [ERROR] at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59) [ERROR] at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183) [ERROR] at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161) [ERROR] at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:319) [ERROR] at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156) [ERROR] at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537) [ERROR] at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196) [ERROR] at org.apache.maven.cli.MavenCli.main(MavenCli.java:141) [ERROR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [ERROR] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [ERROR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [ERROR] at java.lang.reflect.Method.invoke(Method.java:597) [ERROR] at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290) [ERROR] at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230) [ERROR] at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409) [ERROR] at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352) [ERROR] Caused by: java.lang.reflect.InvocationTargetException [ERROR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [ERROR] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [ERROR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [ERROR] at java.lang.reflect.Method.invoke(Method.java:597) [ERROR] at com.googlecode.androidannotations.helper.AnnotationHelper.extractAnnotationParameter(AnnotationHelper.java:287) [ERROR] ... 46 more [ERROR] Caused by: java.lang.annotation.AnnotationTypeMismatchException: Incorrectly typed data found for annotation element public abstract int com.googlecode.androidannotations.annotations.EActivity.value() (Found data of type int) [ERROR] at com.sun.tools.javac.model.AnnotationProxyMaker$ValueVisitor$1.generateException(AnnotationProxyMaker.java:243) [ERROR] at sun.reflect.annotation.AnnotationInvocationHandler.invoke(AnnotationInvocationHandler.java:56) [ERROR] at $Proxy16.value(Unknown Source) [ERROR] ... 51 more </code></pre> <p>Honestly I'm at a loss now. If anyone has an idea of what to do, that would be amazing. Thanks!</p> <p>EDIT: here's the stub R.java generated by IntelliJ.</p> <pre><code>/*___Generated_by_IDEA___*/ package com.airlocksoftware.canvastest; /* This stub is for using by IDE only. It is NOT the R class actually packed into APK */ public final class R { } </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload