Fixed
Status Update
Comments
ad...@atlassian.com <ad...@atlassian.com> #2
Further testing shows 11.0.0 works in this setup and 11.2.0 is the first version this appears.
sl...@google.com <sl...@google.com>
be...@google.com <be...@google.com>
cm...@google.com <cm...@google.com> #3
This is expected. Both libraries have a java resource called 'protobuf.meta', which either the library authors need to stop shipping or the build author needs to pick one. See https://google.github.io/android-gradle-dsl/current/com.android.build.gradle.internal.dsl.PackagingOptions.html
However, if both libraries actually depend on that java resource you are in trouble.
However, if both libraries actually depend on that java resource you are in trouble.
ad...@atlassian.com <ad...@atlassian.com> #4
I can confirm that specifying exclude or pick-first on protobuf.meta results in a successful build and no *immediate* problems. However, the contents of these two files are completely different and without understanding the purpose of these files (I assume related to protocol buffer data structure) it feels very treacherous to remove them.
cm...@google.com <cm...@google.com> #5
Stephan, do you know what that file does and what changed that meant that it has started being bundled as a java resource in the testing support library?
k....@gmail.com <k....@gmail.com> #6
I see the same issue in a module referencing com.google.android.gms:play-services-location and com.google.android.gms:play-services-maps after integrating com.google.firebase:firebase-core and com.google.firebase:firebase-perf in the app.
I am running `11.6.2` of all libraries as well as Gradle 4.3.1-all and support lib 26.1.0
I am running `11.6.2` of all libraries as well as Gradle 4.3.1-all and support lib 26.1.0
[Deleted User] <[Deleted User]> #7
Experiencing the same issue. Any verdict on how to fix this?
sl...@google.com <sl...@google.com>
nk...@google.com <nk...@google.com> #8
This will be fixed in the next release of Espresso v3.0.2.
We will be stripping off protobuf.meta file from the release binaries since they are not actually needed at run time.
We will be stripping off protobuf.meta file from the release binaries since they are not actually needed at run time.
Description
Version used: espresso 3.0.1, runner:1.0.1
What steps will reproduce the problem?
1. Using this build.gradle from a standard library module created by the android studio 3.0.0 template
apply plugin: 'com.android.library'
android {
compileSdkVersion 26
defaultConfig {
minSdkVersion 16
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:26.1.0'
implementation 'com.google.android.gms:play-services-auth:11.6.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.1'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
}
2. execute ./gradlew :myLibrary:connectedAndroidTest
3. Results in
Execution failed for task ':mylibrary:transformResourcesWithMergeJavaResForDebugAndroidTest'.
More than one file was found with OS independent path 'protobuf.meta'
How are you running your tests (via Android Studio, Gradle, adb, etc.)?
run through Gradle.
What is the expected output? What do you see instead?
Expected successful build