java - 如何将 Google Drive API 用于 Android Bazel(Blaze) 项目?
问题描述
我正在开发一个需要将文件上传到 Google Drive 帐户的 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
我需要为 blaze 项目做些什么?
解决方案
使用 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_binary
或android_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",
]
)
推荐阅读
- contact-form-7 - 联系表格 7 根据下拉选择重定向到表单提交时的不同 URL
- node.js - 如何在反应中从api获取数据?
- r - 基于单元格值的灵活表脚注
- javascript - 添加新帖子时动态路由不起作用
- azure - Azure B2C 在统一注册/登录流程中首先显示注册页面
- python - TypeError:返回类型必须是字符串、字典、元组、响应实例或 WSGI 可调用的,但它是协程
- python - 使用自定义类作为视图类时出现 RecycleView 错误
- php - PHP - 创建多维数组的最佳实践
- oracle - Aspen SQLPlus:按名称分隔列
- git - git 2.32 git push -u origin master 没有任何反应