如何在Android Bazel(Blaze)项目中使用Google Drive API?

问题描述 投票:0回答:1

我正在开发一个需要将文件上传到Google云端硬盘帐户的Android项目。在线教程说要将以下内容放在build.gradle文件中:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:25.0.1'
    compile 'com.google.android.gms:play-services-auth:15.0.1'
    compile 'pub.devrel:easypermissions:0.3.0'
    compile('com.google.api-client:google-api-client-android:1.23.0') 
    {
    exclude group: 'org.apache.httpcomponents'
    }
    compile('com.google.apis:google-api-services-<API>-<VERSION>') {
        exclude group: 'org.apache.httpcomponents'
    }
    }

https://developers.google.com/gsuite/guides/android

我需要为火焰项目做些什么?

java android google-drive-sdk bazel
1个回答
0
投票

使用Maven解析器工具,如bazelbuild/rules_jvm_external

在您的WORKSPACE文件中,添加以下代码段:

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

RULES_JVM_EXTERNAL_TAG = "1.0"
RULES_JVM_EXTERNAL_SHA = "48e0f1aab74fabba98feb8825459ef08dcc75618d381dff63ec9d4dd9860deaa"

http_archive(
    name = "rules_jvm_external",
    strip_prefix = "rules_jvm_external-%s" % RULES_JVM_EXTERNAL_TAG,
    sha256 = RULES_JVM_EXTERNAL_SHA,
    url = "https://github.com/bazelbuild/rules_jvm_external/archive/%s.zip" % RULES_JVM_EXTERNAL_TAG,
)

load("@rules_jvm_external//:defs.bzl", "maven_install")

maven_install(
    artifacts = [
        "com.android.support:appcompat-v7:25.0.1",
        "com.google.android.gms:play-services-auth:15.0.1",
        "pub.devrel:easypermissions:0.3.0",
        "com.google.api-client:google-api-client-android:1.23.0",
        "com.google.apis:google-api-services-drive:v3-rev151-1.25.0"
    ],
    repositories = [
        "https://jcenter.bintray.com",
        "https://maven.google.com",
        "https://repo1.maven.org/maven2",
    ],
)

然后,在你的BUILD文件中,直接依赖你的android_binaryandroid_library中的工件库:

android_library(
    name = "my_activity",
    srcs = [
        "MainActivity.java",
        "DriveServiceHelper.java",
    ],
    manifest = "AndroidManifest.xml",
    resource_files = glob(["res/**"]),
    deps = [
        "@maven//:com_android_support_appcompat_v7",
        "@maven//:com_google_android_gms_play_services_auth",
        "@maven//:pub_devrel_easypermissions",
        "@maven//:com_google_api_client_google_api_client_android",
        "@maven//:com_google_apis_google_api_services_drive",
    ]
)
© www.soinside.com 2019 - 2024. All rights reserved.