为啥这个旧的依赖会使我的 gradle 崩溃?
Posted
技术标签:
【中文标题】为啥这个旧的依赖会使我的 gradle 崩溃?【英文标题】:Why does this old dependency crashes my gradle?为什么这个旧的依赖会使我的 gradle 崩溃? 【发布时间】:2022-01-11 22:51:34 【问题描述】:很久以前,我安装了一个软件包,它可以为我提供 android 设备上键盘的高度。最终这个包没有很好地满足我的目的,所以我把它卸载了。 几天前,我尝试构建我的应用程序,但出现以下错误:
Build file 'C:\Users\odedo\Documents\GitHub\tripper\app\platforms\android\app\build.gradle' line: 598
A problem occurred configuring project ':app'.
Could not GET 'https://dl.bintray.com/crysis21/Android/com/hold1/keyboardheightprovider/0.0.9/keyboardheightprovider-0.0.9.pom'. Received status code 403 from server: Forbidden
Command gradlew.bat failed with exit code 1
显然该包不再可用,我应该将此依赖项添加到我的代码中:
implementation 'ro.holdone:keyboardHeightProvider:1.0.3'
我的问题是:
-
我应该在哪里添加这一行???我找不到这个简单动作的任何明确说明......
为什么我仍然得到这个错误?我很久以前删除了这个包!我清理了我的平台,但在我的项目中找不到任何痕迹。我该如何摆脱它?
这里是 NPM:https://github.com/Crysis21/KeyboardHeightProvider 这是关于堆栈溢出的相同问题,但根本没有帮助:implementation 'com.hold1:keyboardheightprovider:0.0.9'
我迫切需要一个解决方案...请帮助
【问题讨论】:
你怎么知道你必须将该行添加到你的项目中?介意分享这样的消息吗? 这是包所有者所说的(也回答了打开的问题):github.com/Crysis21/KeyboardHeightProvider 【参考方案1】:我在上面的评论中留下了一个问题供您澄清,但通常会将依赖项添加到 build.gradle
文件中;在项目级别或应用级别。
我假设您需要在应用程序级别的 Gradle 文件中添加此依赖项,因为它更常见,因此请查找 build.gradle
文件的 dependencies
部分(通常在底部)并将其添加为比如:
android
...
dependencies
...
implementation 'ro.holdone:keyboardHeightProvider:1.0.3'
更新: 作为替代方案,我建议您直接远离帮助您完成或查找 Android 已经提供的东西的 3rd 方库。我认为您可以通过两种主要方式做到这一点:
您可以实现GlobalLayoutListener
来计算应用程序布局的总 大小,并从中推断出软键盘占用的总大小。 This answer from a different question 解释了这个过程。
第二种确定键盘尺寸的方法是mentioned in the link you shared above,它是利用来自androidx
的Android 的WindowInsets
API 来获得所需的精确测量值。我相信这个解决方案可能只适用于更高的Android版本,所以请明智地选择你的武器!
【讨论】:
你是 app.Gradle 吗?我没有找到任何 Gradle.Build。我试过了,但后来我得到了这个新的错误:FAILURE: Build failed with an exception。 * 出了什么问题:在根项目“tripper”中找不到任务“assembleDebug”。 * 尝试:运行 gradlew 任务以获取可用任务列表。使用 --stacktrace 选项运行以获取堆栈跟踪。使用 --info 或 --debug 选项运行以获得更多日志输出。运行 --scan 以获得完整的见解。 * 在help.gradle.org 获得更多帮助在 4 秒内构建失败命令 gradlew.bat 失败,退出代码为 1 为什么我还要这样做?我删除了 NPM 啊,我明白了(两个 cmets)。好吧,我建议你直接离开这个库,因为 Android 至少有两种不同的方式来查找你正在寻找的信息。我将更新我的答案以展示一对夫妇。 我不明白,“离开这个图书馆”是什么意思?我怎么做?我早就卸载了 我在上面更新了我的答案。但总的来说,我的意思是你可以考虑以不同的方式获得你想要的东西。 让我们continue this discussion in chat。以上是关于为啥这个旧的依赖会使我的 gradle 崩溃?的主要内容,如果未能解决你的问题,请参考以下文章
为啥 ntdll.dll 会使我的 c++ 可执行文件崩溃?
为啥大型本地数组会使我的程序崩溃,而全局数组却不会? [复制]