更新后
compile 'com.firebaseui:firebase-ui-database:0.4.0'
到
compile 'com.firebaseui:firebase-ui-database:2.3.0'
我能够在我的测试设备上编译和运行我的应用程序,但是当我尝试生成已签名的apk时,我会在'messages gradle build'中得到它。我希望这是一个问题:
Information:Gradle tasks [:app:assembleRelease]
Warning:android.arch.lifecycle.Transformations: can't find referenced class android.arch.core.util.Function
Warning:android.arch.lifecycle.Transformations$1: can't find referenced class android.arch.core.util.Function
Warning:android.arch.lifecycle.Transformations$2: can't find referenced class android.arch.core.util.Function
Warning:there were 16 unresolved references to classes or interfaces.
Warning:Exception while processing task java.io.IOException: Please correct the above warnings first.
Error:Execution failed for task ':app:transformClassesAndResourcesWithProguardForRelease'.
> Job failed, see logs for details
Information:BUILD FAILED in 11s
Information:1 error
Information:5 warnings
Information:See complete output in console
我尝试过增量版本更新,但这也没有用。例如:
compile 'com.firebaseui:firebase-ui-database:2.0.0'
甚至不会同步,给出合并错误消息。
我还更新了我的其他SDK,但firebaseui线现在触发了它。以下是评论中提到的部分应用程序:
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:design:26.1.0'
compile 'com.android.support:appcompat-v7:26.1.0'
compile 'com.google.android.gms:play-services-drive:11.4.0'
compile 'com.google.android.gms:play-services-plus:11.4.0'
compile 'com.google.android.gms:play-services-location:11.4.0'
compile 'com.google.android.gms:play-services-auth:11.4.0'
compile 'com.google.android.gms:play-services-wallet:11.4.0'
compile 'com.google.android.gms:play-services-games:11.4.0'
compile 'com.android.support:support-v4:26.1.0'
compile 'com.android.support:support-v13:26.1.0'
compile 'com.google.firebase:firebase-core:11.4.0'
compile 'com.google.firebase:firebase-invites:11.4.0'
compile 'com.google.firebase:firebase-ads:11.4.0'
compile 'com.google.firebase:firebase-database:11.4.0'
compile 'com.google.firebase:firebase-auth:11.4.0'
compile 'com.google.firebase:firebase-config:11.4.0'
compile 'com.google.firebase:firebase-messaging:11.4.0'
compile 'com.google.firebase:firebase-crash:11.4.0'
compile 'com.google.firebase:firebase-analytics:11.4.0'
compile 'com.google.firebase:firebase-appindexing:11.4.0'
compile 'com.firebaseui:firebase-ui-database:2.3.0'
}
以下是评论中提到的我的程序规则,最后我尝试了几行。我已经尝试了各种语法而没有效果。
-renamesourcefileattribute SourceFile
-keepattributes Signature
-keepattributes SourceFile
-keepattributes LineNumberTable
-keepattributes *Annotation*
-keep class com.android.**
-keepclassmembers class com.android.**
答案 0 :(得分:2)
我发现错误消息中的proguard引用是一个红色的鲱鱼。在向我的proguard-rules文件添加许多额外规则后无效。添加auth编译后:
compile 'com.firebaseui:firebase-ui-database:2.3.0'
compile 'com.firebaseui:firebase-ui-auth:2.3.0'
我能够构建一个签名的apk(在此过程的早期添加此行导致错误,所以我放弃了它)。奇怪的是,
compile 'com.firebaseui:firebase-ui-database:0.4.0'
我不需要auth编译。
在添加auth编译之后,我必须更改所有编译版本' 26.1.0'至' 26.0.1'在app gradle中避免合并错误,大概是使用新的auth编译。尽管有更新版本,但26.1.0'建议它给我这些编译。我正在使用的最新buildToolsVersion是:
buildToolsVersion "26.0.1"
无论java编码技巧如何,通过艰苦的体验,在Android开发中克服了这些障碍。
答案 1 :(得分:1)
我在'com.firebaseui:firebase-ui-database:2.4.0'上也遇到了这个错误。
这对proguard的补充对我有用。只需将它放在您的proguard规则中的任何位置:
-dontwarn android.arch.**