我最近一直在尝试Android annotations,一切都运行良好,直到我决定在我applicationIdSuffix
文件的buildTypes
中添加build.gradle
。目前它看起来像这样:
buildTypes {
debug {
applicationIdSuffix '.debug'
}
...
}
在编译时,我在gradle控制台中获得以下日志:
:app:preDebugBuild UP-TO-DATE
:应用:checkDebugManifest
:app:preReleaseBuild UP-TO-DATE
:app:pre_testBuild UP-TO-DATE
:app:prepareComAndroidSupportAppcompatV72220Library UP-TO-DATE
:app:prepareComAndroidSupportSupportV42220Library UP-TO-DATE
:应用:prepareDebugDependencies
:app:compileDebugAidl UP-TO-DATE
:app:compileDebugRenderscript UP-TO-DATE
:app:generateDebugBuildConfig UP-TO-DATE
:app:generateDebugAssets UP-TO-DATE
:app:mergeDebugAssets UP-TO-DATE
:app:generateDebugResValues UP-TO-DATE
:应用:processDebugGoogleServices
找不到包名称'org.me.myapp.debug'的匹配客户 :应用:generateDebugResources
:app:mergeDebugResources UP-TO-DATE
:app:processDebugManifest UP-TO-DATE
:app:processDebugResources UP-TO-DATE
:app:generateDebugSources UP-TO-DATE
:app:processDebugJavaRes UP-TO-DATE
:应用:compileDebugJavaWithJavac
注意:将日志文件解析为/dir/myapp/app/build/generated/source/apt/androidannotations.log
注意:使用选项初始化AndroidAnnotations 3.3.1 {androidManifestFile = / dir / myapp / app / build / intermediates / manifests / full / debug / AndroidManifest.xml}
注意:开始处理18个元素的4个注释
注意:使用指定路径找到AndroidManifest.xml文件:/dir/myapp/app/build/intermediates/manifests/full/debug/AndroidManifest.xml 注意:AndroidManifest.xml发现:AndroidManifest [applicationPackage = org.me.myapp.debug,componentQualifiedNames = [org.me.myapp.ui.MainActivity_,net.hockeyapp.android.UpdateActivity],permissionQualifiedNames = [android.permission.ACCESS_WIFI_STATE, android.permission.ACCESS_NETWORK_STATE],applicationClassName = null,libraryProject = false,debugabble = false,minSdkVersion = 15,maxSdkVersion = -1,targetSdkVersion = 22]
错误:无法找到生成的org.me.myapp.debug.R类 注意:找到Android类:android.R
注意:时间测量:[整个处理= 15 ms],[Extract Manifest = 4 ms],[Extract Annotations = 3 ms],
注意:完成处理
注意:开始处理0个元素上的0个注释 注意:时间测量:[整个处理= 0 ms],
注意:完成处理
1错误
失败
失败:构建失败,例外。
*出了什么问题:
任务':app:compileDebugJavaWithJavac'执行失败。
我已经尝试过再次清理和重建,从项目中删除generated
目录,但没有任何帮助。如果我从applicationIdsuffix
文件中删除build.gradle
,一切正常。我该如何解决这个问题?
答案 0 :(得分:22)
对我而言,这种情况正在发生,因为google-services.json
指的是我的生产包名称。在撰写本文时,最好的解决方案似乎是编写自己的gradle任务以在文件的release
和debug
版本之间切换,或者在文件中包含两个包名称:
答案 1 :(得分:9)
从build.gradle
文件中删除此行:
resourcePackageName android.variant.applicationId
修改:尝试将此行添加到apt
块:
resourcePackageName "org.me.myapp"