Dan*_*n J 130 gradle android-studio square-wire
根据这个问题,我已经在Android Studio中设置我的项目以使用Square Wire库.
Build
- > Compile Project
工作正常.
2:03:10 PM Compilation completed successfully in 31 sec
Run Code Online (Sandbox Code Playgroud)
但是,如果我打开一个生成的协议缓冲区文件,则无法识别Square包.
另一个症状是,继承自Square Message
类的方法在编辑器中显示为"无法解析方法"编译错误,即使它们构建并运行正常.
我是否需要做更多的事情,而不仅仅是build.gradle
在项目中为我的模块添加依赖项?
小智 123
以下步骤有帮助
project/.idea
~/.gradle
文件夹.再次打开项目.一切都应该解决.
Dan*_*n J 108
感谢free3dom让我在这里走上正轨.
诊断
Sync Project with Gradle Files
Android Studio中的选项似乎可以使Project Structure
库保持最新.
但是,就我而言,有一些错误:
扩展(不是很明显)链接显示了细节.我的wire-runtime库显示在一个不正确的位置:
这似乎是我原始配置的宿醉,我将JAR导入libs文件夹.
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
}
Run Code Online (Sandbox Code Playgroud)
我随后将其更改为直接从Maven Central导入(按照此处),似乎旧设置从未被新设置覆盖.
修复
修复是从Project Structure
屏幕上删除库依赖项,然后Sync Project with Gradle Files
再次.
更多详情
您还可以通过.idea/libraries/wire_runtime_1_2_0.xml
直接打开来查看资源使用的路径.
我破碎的是:
<component name="libraryTable">
<library name="wire-runtime-1.2.0">
<CLASSES>
<root url="jar://$PROJECT_DIR$/MY_MODULE/libs/wire-runtime-1.2.0.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
Run Code Online (Sandbox Code Playgroud)
删除并重新添加库后,它将更改root url
为:
<root url="jar://$USER_HOME$/.gradle/caches/artifacts-26/filestore/com.squareup.wire/wire-runtime/1.2.0/jar/44e7acbd5eb6f29698181dc3d67a60acf7efee80/wire-runtime-1.2.0.jar!/" />
Run Code Online (Sandbox Code Playgroud)
更新
Android Studio v0.4.4 显然修复了其他具有相同症状的错误,因此如果你有旧版本,你可能希望升级.
Man*_*oni 85
简单解决方案
浏览链接,它对我有用.
File
从android studio左上方的菜单中选择选项.Invalidate Cache/Restart
它将打开一个对话框.Invalidate and Restart
它解决了我的问题
转到文件 > 无效缓存/重新启动 > 无效并重新启动
GoR*_*RoS 14
我仍然经常遇到与Android Studio v3.2.1相同的问题,并解决了问题,只是删除了.idea
文件夹的这两个子文件夹(无需删除整个.idea
文件夹),而gradle同步不起作用:
./idea/caches
./idea/libraries
小智 8
我的hacky解决了这个问题 -
build.gradle
文件dependencies{}
build.gradle
文件中的"立即同步"尝试了很多解决方案,这是我唯一的解决方案.
升级到Android Studio 3.1后我遇到了这个问题.我通过升级我使用的所有组件解决了这个问题.所以我在build.gradle(app)中更改了以下条目:
升级SDK(从"compileSdkVersion 25"升级到"compileSdkVersion 26"或者在阅读本说明时可能更高):
// compileSdkVersion 25
compileSdkVersion 26
注释:此更改强制程序在下次同步期间下载/安装新的sdk.
升级appcompat-v7:
//实现'com.android.support:appcompat-v7:25.4.0'
实现'com.android.support:appcompat-v7:26.1.0'
升级firebase:
//实现'com.google.firebase:firebase-ads:11.4.2'
实施'com.google.firebase:firebase-core:12.0.1'
实施'com.google.firebase:firebase-ads:12.0.1'
在PROJECT build.gradle中,升级google-services:
// classpath'com.google.gms:google-services:3.1.0'
classpath'com.google.gms:google-services:3.2.0'
升级gradle(从4.4到4.6).来自gradle-wrapper.properties:distributionUrl = https://services.gradle.org/distributions/gradle-4.6-all.zip
完成这些更改后,清理项目,使缓存/重启无效,删除.idea/libraries内容并重新同步(不确定顺序,但所有这些活动都为我解决了问题).
删除.idea中的库文件夹为我解决了这个问题.它位于项目的root/.idea/libraries中.
我正在使用Android Studio 3.1.4
小智 7
如果 文件 -> 无效缓存/重新启动 -> 无效并重新启动不起作用,则执行以下几个步骤。
1.) 关闭您的 Android Studio
2.) 然后删除C:\Users\Balbir\ .AndroidStudio4.0\system\caches文件夹上的 Manual。
3.) 启动Android Studio
这是为我工作。
小智 5
成功编译项目但使用未解决的类时执行以下步骤(所有文件中的所有类使用情况均为红色)
步骤1.删除.gradle文件
步骤2.,删除.idea文件
第3步。打开新的Android Studio窗口,并在系统上添加其他一些android项目,并错误关闭项目
第三步。现在,从Studio工具栏Android Studio-> File-> Open再次打开/导入项目。
注意:现在,当您导入项目时,新的.gradle和新的.idea文件夹将由编译器自动生成并具有已解决的依赖关系。
我通过以下方法修复
方法一
文件 > 使缓存无效/重新启动 > 使缓存无效并重新启动
方法二
Run Code Online (Sandbox Code Playgroud)1. Close current project 2. Go to your project path C://User/Android studio project/your project 3. Delete two files .gradle and .idea
Run Code Online (Sandbox Code Playgroud)1. Close Android studio 2. Go to the file C://Users/your username/ 3. Delete files .gradle , .cache ,.android, .AndroidStudio3.5
归档时间: |
|
查看次数: |
52124 次 |
最近记录: |