小编Lea*_*ath的帖子

适用于Gradle 3.0.0的Android插件:找不到com.google.http-client:google-http-client-parent:1.24.1

我不得不将我的Android项目迁移到新版Android Studio和Android插件Gradle.

我按照https://developer.android.com/studio/build/gradle-plugin-3-0-0-migration?utm_source=android-studio#new_configurations中的所有说明进行操作, 但在同步和构建时,我遇到了与构建错误相关的问题google-http-client-parent:1.24.1说明它不存在于存储库Maven或Jcenter中(确实这个版本还不存在)

在我的应用程序gradle我只使用com.google.http-client:google-http-client-android:1.23.0,我没有这样的1.24.1版本的库,所以经过几个小时的研究后,我仍然不明白它的起源这个错误.

日志如下:

> org.gradle.api.UncheckedIOException: Failed to capture snapshot of
> input files for task ':backend:compileJava' property 'classpath'
> during up-to-date check.  at
> org.gradle.api.internal.changedetection.state.CacheBackedTaskHistoryRepository.snapshotTaskFiles(CacheBackedTaskHistoryRepository.java:333)
>   at
> org.gradle.api.internal.changedetection.state.CacheBackedTaskHistoryRepository.createExecution(CacheBackedTaskHistoryRepository.java:154)
>   at
> org.gradle.api.internal.changedetection.state.CacheBackedTaskHistoryRepository.access$100(CacheBackedTaskHistoryRepository.java:61)
>   at
> org.gradle.api.internal.changedetection.state.CacheBackedTaskHistoryRepository$1.getCurrentExecution(CacheBackedTaskHistoryRepository.java:114)
>   at
> org.gradle.api.internal.changedetection.changes.DefaultTaskArtifactStateRepository$TaskArtifactStateImpl.getStates(DefaultTaskArtifactStateRepository.java:201)
>   at
> org.gradle.api.internal.changedetection.changes.DefaultTaskArtifactStateRepository$TaskArtifactStateImpl.isUpToDate(DefaultTaskArtifactStateRepository.java:86)
>   at
> org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:53)
>   at
> org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54)
>   at
> org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:60)
>   at
> org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:97)
>   at
> org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:87)
>   at
> org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:52)
>   at
> org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
>   at …
Run Code Online (Sandbox Code Playgroud)

css java android android-studio google-cloud-endpoints-v2

12
推荐指数
3
解决办法
1390
查看次数

如何删除 Cloud Firestore 中的复合索引?

文档说:https : //firebase.google.com/docs/firestore/query-data/indexing

要删除索引:

Go to the Cloud Firestore section of the Firebase console.
Click the Indexes tab.
Hover over the index you want to delete and select Delete from the context menu.
Confirm that you want to delete it by clicking Delete from the alert.
Run Code Online (Sandbox Code Playgroud)

在当前的 Cloud Firestore 上,

  • 可以使用右侧子菜单删除单个字段索引
  • 但是悬停不起作用,复合索引部分不存在子菜单

我只找到了一个控制台命令来删除所有为 firestore 数据库编制的索引

database-indexes flutter firebase-console google-cloud-firestore

7
推荐指数
2
解决办法
1746
查看次数

带有Retrofit的App Engine端点

想要使用Retrofit来处理Android Client和GAE端点之间的网络请求.GAE端点为客户端/服务器端点库提供处理所有网络以及Oauth2身份验证的功能.Retrofit有助于异步调用,取消,并行调用......所以比android客户端asynctask更好.那么这个Retrofit lib可以配置Appengine GAE端点还是需要通过普通的GAE servlet?


只是为了澄清我的问题,并为任何阅读此内容的人明确答案:

我有我的应用程序:

客户端:谷歌插件为eclipse生成的云端点库

后端侧GAE:使用JPA编码的方法的不同API,例如:

@ApiMethod(name = "insertMyShareItem") 
public ShareItemData insertMyShareItemData(ShareItemData shareitemdata) {
    logger.log(Level.SEVERE, "insertMyShareItem"); 
}
Run Code Online (Sandbox Code Playgroud)

谷歌云端点的优点是端点库,易于使用Auth2并通过HTTPS自动使用安全连接

现在我想放弃Async任务以实现Retrofit或Volley.我知道我不能再使用谷歌云端点了,需要在扩展HttpServlet的方法中转换GAE后端的方法,这样我就可以通过正常设置Retrofit的URL调用来访问它们.

这意味着现在我需要关心:

  • 我如何将我的对象传递给Retrofit以及如何在后端检索它们
  • 我如何在HTTPS调用中转换Retrofit HTTP调用以进行安全连接
  • 我如何在Client和GAE后端之间实现和管理Auth2和令牌以建立安全身份验证.

这是我从搜索和下面的答案中理解的.Thks

google-app-engine android retrofit

5
推荐指数
1
解决办法
999
查看次数

Twitter:“获取页面失败,因为其他错误”,在带有 SSL 的 Forge NGINX 服务器上

我们的网站在 Laravel Forge 上运行,带有“让我们加密 SSL”,并且浏览器中的 HTTPS 正常。我们添加了 FB、Twitter 元标签,以便在这些媒体上共享时拥有品牌 FB 和 Twitter 卡片。

跟随'错误:由于其他错误,获取页面失败。' 尝试在推文中显示 Twitter 卡片时引发(使用https://cards-dev.twitter.com/validator测试),经过研究,这与这个专门的知名问题相关联:

https://twittercommunity.com/t/error-fetching-the-page-failed-because-ssl-handshake-error/30204/9

它确定在服务于不同站点的 Apache 服务器上,需要一个与 SSL 证书的 CN 匹配的 ServerName 指令,以避免 Apache 发送本地主机名或连接的 IP。

如何在 Forge NGINX 服务器上解决这个 Twitter 问题?有人知道这是否与 Apache 服务器类似的问题以及需要进行哪些配置更改?

twitter ssl nginx laravel

4
推荐指数
1
解决办法
3818
查看次数