mirror of https://github.com/grpc/grpc-java.git
The module metadata in Guava causes the -jre version to be selected even when you choose the -android version. Gradle did not give any clues that this was happening, and while `println(configurations.compileClasspath.resolve())` shows the different jar in use, most other diagonstics don't. dependencyInsight can show you this is happening, but only if you know which dependency has a problem and read Guava's module metadata first to understand the significance of the results. You could argue this is a Guava-specific problem. I was able to get parts of our build working with attributes and resolutionStrategy configurations mentioned at https://github.com/google/guava/releases/tag/v32.1.0 , so that only Guava would be changed. But it was fickle giving poor error messages or silently swapping back to the -jre version. Given the weak debuggability, the added complexity, and the lack of value module metadata is providing us, disabling module metadata for our entire build seems prudent. See https://github.com/google/guava/issues/7575 |
||
|---|---|---|
| .. | ||
| src | ||
| README.md | ||
| build.gradle | ||
| proguard-rules.pro | ||
| start-emulator.sh | ||
| wait-for-emulator.sh | ||
README.md
gRPC Android test App
Implements gRPC integration tests in an Android App.
In order to build this app, you need a local.properties file under this directory which specifies the location of your android sdk:
sdk.dir=/somepath/somepath/sdk
Connect your Android device or start the emulator:
$ ./start-emulator.sh <AVD name> & ./wait-for-emulator.sh
Start test server
Start the test server by:
$ ../run-test-server.sh
Manually test
Install the App by:
$ ../gradlew installDebug
Then manually test it with the UI.
Instrumentation tests
Instrumentation tests must be run on a connected device or emulator. Run with the following gradle command:
$ ../gradlew connectedAndroidTest \
-Pandroid.testInstrumentationRunnerArguments.server_host=10.0.2.2 \
-Pandroid.testInstrumentationRunnerArguments.server_port=8080 \
-Pandroid.testInstrumentationRunnerArguments.use_tls=true \
-Pandroid.testInstrumentationRunnerArguments.server_host_override=foo.test.google.fr \
-Pandroid.testInstrumentationRunnerArguments.use_test_ca=true \
-Pandroid.testInstrumentationRunnerArguments.test_case=all