错误:无法解决:annotationProcessor

时间:2016-11-20 11:20:05

标签: android android-studio gradle annotation-processor

这是我在为我的android项目添加新的gradle依赖项时遇到的以下错误。而且这个错误不是项目特定的。如果我在任何其他Android项目中添加插件,我会得到相同的错误 Error while adding any third party plugin

我还发布了我的项目应用级Annotation Processor模块截图

App level gradle module

我甚至在设置中启用了UTF8StringRequest stringRequest = new UTF8StringRequest (com.android.volley.Request.Method.GET,"http://alolma.coderswebsites.com/api/v1/person/", new com.android.volley.Response.Listener<String>() { @Override public void onResponse(String response) { Log.d("response",response); try{ list.clear(); JSONObject obj = new JSONObject(response); count=obj.getInt("count"); Log.d("count",""+count); Log.d("lenofresult",""+obj.getJSONArray("results").length()); for (int i=0; i<obj.getJSONArray("results").length(); i++) { Person person = new Person(); person.parse(obj.getJSONArray("results").getJSONObject(i)); list.add(person); } Log.d("list.siz()",""+list.size()); if (list.size()==count) { Log.d("data","100%"); loadagain=false; list2=list; callBack.onSuccess(); } } catch (Exception e){} } }, new com.android.volley.Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { } }){ }; RequestQueue requestQueue = Volley.newRequestQueue(context); int socketTimeout = 30000;//30 seconds - change to what you want RetryPolicy policy = new DefaultRetryPolicy(socketTimeout, DefaultRetryPolicy.DEFAULT_MAX_RETRIES, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT); stringRequest.setRetryPolicy(policy); requestQueue.add(stringRequest); 。仍然没有解决方案请帮忙。

6 个答案:

答案 0 :(得分:21)

在项目gradlefile中使用它:

allprojects {
    repositories {
        jcenter()
        maven { url 'https://maven.google.com' }
    }
}

答案 1 :(得分:14)

我有同样的问题,问题是我忘记添加;

repositories {
    maven { url 'https://jitpack.io' }
}

答案 2 :(得分:4)

对于那些刚刚下载Android studio 3.0更新并获得:

的人
  

无法解析annotationProcessor

解决方案: 禁用注释处理器错误检查

只需复制&#39; JavaCompileOptions&#39;下面的代码块并粘贴在defaultConfig {}块中。

android {
    ...
    defaultConfig {
        ...
        javaCompileOptions {
            annotationProcessorOptions {
                includeCompileClasspath false
            }
        }
    }
}

参考:Disable the annotation processor error check

答案 3 :(得分:2)

好吧,现在终于在解决了annotationProcessor的这个问题之后无法解决,我可以告诉你这是一个库问题或配置问题,因为你正在使用第三方插件。

如果出现库问题,可能会出现一些魔法未应用于生成javadoc任务以将javadocDepts包含到类路径中的情况。

配置问题可能是有自定义注释,但没有自定义注释处理器,或者您没有将其作为annotationProcessor 'package.name:annotationProcessorModule:version'

包含在依赖项中

无论如何,我必须从我自己的库中删除自定义注释才能使用来自jcenter的工件,否则我会得到

  

无法解析annotationProcessor

在其他项目中使用我的库时,

一直都是

这里是指向我的问题和我的存储库的链接,以防您在自己开发第三方插件时可能会对您有所帮助:

Can't import AAR library with @IntDef annotations

https://github.com/vulko/AnimatedArcProgressView

答案 4 :(得分:1)

首先尝试清理项目。 它将为您提供有关错误的更多信息,并在项目build.gradle文件中添加以下行。

allprojects {
    repositories {
        jcenter()
        maven { url "https://jitpack.io" }
    }
}

然后重建它应该工作的项目

答案 5 :(得分:0)

在我们的案例中,我们的内部工件服务器已关闭,因此确实无法解决。

我建议从命令行运行gradle构建并向其添加--debug参数。然后,您将看到如下所示的行,这些行将帮助您查看无法解决的问题。 (注意我在这里删除了一堆东西以保持日志简短。)

[org.gradle.api.internal.artifacts.ivyservice.IvyLoggingAdaper]     tried http://repo.jfrog.org/...
...
[org.apache.http.impl.conn.DefaultClientConnection] Sending request: HEAD /artifactory/...
[org.apache.http.impl.conn.DefaultClientConnection] Receiving response: HTTP/1.1 404 Not Found