简体   繁体   中英

Calling cloud endpoint library from a client

I created Google Cloud endpoint library and follow the instructions from Calling Google Apis from Android

But I'm not able to use my endpoints. I created a new project in Android Studio and copy all the dependencies in gradle.build But When I run the project I see following errors.

Java Compiler:

    Caused by: com.android.builder.dexing.DexArchiveBuilderException: Failed to process C:\Users\DELL\.gradle\caches\modules-2\files-2.1\com.google.guava\guava\22.0\3564ef3803de51fb0530a8377ec6100b33b0d073\guava-22.0.jar

   Caused by: com.android.builder.dexing.DexArchiveBuilderException: Error while dexing.


 Caused by: com.android.tools.r8.CompilationFailedException: Compilation failed to complete


   Caused by: com.android.tools.r8.utils.AbortException

Android Issue:

 Default interface methods are only supported starting with Android N (--min-api 24): java.util.Collection com.google.common.collect.BiMap.values()
 Message{kind=ERROR, text=Default interface methods are only supported starting with Android N (--min-api 24): java.util.Collection com.google.common.collect.BiMap.values(), sources=[Unknown source file], tool name=Optional.of(D8)}

  Default interface methods are only supported starting with Android N (--min-api 24): boolean com.google.common.base.Predicate.test(java.lang.Object)
  Message{kind=ERROR, text=Default interface methods are only supported starting with Android N (--min-api 24): boolean com.google.common.base.Predicate.test(java.lang.Object), sources=[Unknown source file], tool name=Optional.of(D8)}

My MainActivity.java is empty right now. Here is my gradle.build

    apply plugin: 'com.android.application'

android {
    compileSdkVersion 27
    defaultConfig {
        applicationId "com.azeem.endpointtest"
        minSdkVersion 15
        targetSdkVersion 27
        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(include: ['*.jar'], dir: 'libs')
    implementation 'com.android.support:appcompat-v7:27.1.1'
    implementation 'com.android.support.constraint:constraint-layout:1.1.0'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'

    // Add the Google API client library.
    implementation(group: 'com.google.api-client', name: 'google-api-client', version: '1.21.0') {
        // Exclude artifacts that the Android SDK/Runtime provides.
        exclude(group: 'xpp3', module: 'xpp3')
        exclude(group: 'org.apache.httpcomponents', module: 'httpclient')
        exclude(group: 'junit', module: 'junit')
        exclude(group: 'com.google.android', module: 'android')
    }

    // Add the Android extensions for the Google API client library.
    // This will automatically include play services as long as you have download that library
    // from the Android SDK manager.
    // Add the Android extensions for the Google API client library.
    implementation(group: 'com.google.api-client', name: 'google-api-client-android',
            version: '1.21.0')
            {
                // Exclude play services, since we're not using this yet.
                exclude(group: 'com.google.android.gms:play-services', module: 'google-play-services')
            }

    // END Google APIs


    // The following client libraries make HTTP/JSON on Android easier.

    // Android extensions for Google HTTP Client.
    implementation(group: 'com.google.http-client', name: 'google-http-client-android',
            version: '1.21.0') {
        exclude(group: 'com.google.android', module: 'android')
    }

    // This is used by the Google HTTP client library.
    implementation(group: 'com.google.guava', name: 'guava', version: '22.0')

    implementation files('libs/endpointapi-v1-1.23.0-SNAPSHOT.jar')
}

In my whole Api I don't need to make any authenticated calls So, please let me know what library is not required so I removed. I want to implement mini library that are necessary. And please let me know why I'm facing this error.

I found it myself, Only two dependencies are required for this.
One is google-api-client-android and the other is Your_endpoint_lib

implementation 'com.google.api-client:google-api-client-android:1.23.0';
implementation files('libs/endpointapi-v1-1.23.0-SNAPSHOT.jar')

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM