简体   繁体   English

从客户端调用云端点库

[英]Calling cloud endpoint library from a client

I created Google Cloud endpoint library and follow the instructions from Calling Google Apis from Android 我创建了Google Cloud endpoint库,并按照从Android调用Google Apis中的说明进行操作

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. 我在Android Studio中创建了一个新项目,并将所有依赖项复制到gradle.build但是,当我运行该项目时,看到以下错误。

Java Compiler: Java编译器:

    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: Android问题:

 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. 我的MainActivity.java现在为空。 Here is my gradle.build 这是我的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. 在我的整个Api中,我不需要进行任何经过身份验证的调用,因此,请让我知道不需要什么库,因此将其删除。 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 一个是google-api-client-android ,另一个是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')

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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