移动程序后出现Cannot resolve symbol AppCompatActivity等错误

移动android studio 程序包到不同电脑后,出现Cannot resolve symbol AppCompatActivity等错误,网上有说没有包含lib包。

import android.support.v4.app.ActivityCompat;
import android.support.v4.content.ContextCompat;
import android.support.v7.app.AppCompatActivity;
这几个都出现Cannot resolve symbol 错误,有的说要导入V4,V7包。但是我的build.gradle里和Project Structure>Dependencies>app>点击Declared Dependencies里都有包含这些包。

dependencies {
implementation fileTree(include: [’*.jar’], dir: ‘libs’)
implementation ‘com.android.support:appcompat-v7:26.0.0-beta1’
implementation ‘com.android.support:design:26.0.0-beta1’
implementation ‘com.android.support.constraint:constraint-layout:1.0.2’
implementation ‘com.android.support:support-vector-drawable:26.0.0-beta1’
testImplementation ‘junit:junit:4.12’
androidTestImplementation ‘com.android.support.test🏃1.0.0’
androidTestImplementation ‘com.android.support.test.espresso:espresso-core:3.0.0’
}
还有人说把删除项目目录下的.idea文件夹后再打开项目,这个方法有时候也可以,但是新生成的.idea还会出现其它新的问题。

那既然包括了这些lib,但但是在程序中import不了,这是为什么呢。进入.idea/libraries文件,与以前没有转移过,在本电脑下可用的程序对比,发现,以appcompat_v7_26_0_0_beta1.xml文件为例:

 <component name="libraryTable">
- <library name="appcompat-v7-26.0.0-beta1">
- <CLASSES>
  <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/appcompat-v7-26.0.0-beta1.aar/0d0a4f7af324a302451cdfd37e5e0547/jars/classes.jar!/" /> 
  <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/appcompat-v7-26.0.0-beta1.aar/0d0a4f7af324a302451cdfd37e5e0547/res" /> 
  </CLASSES>
  <JAVADOC /> 
- <SOURCES>
  <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.android.support/appcompat-v7/26.0.0-beta1/5a4cc7ec044d7eae1329c19157a30f518f89a38d/appcompat-v7-26.0.0-beta1-sources.jar!/" /> 
  </SOURCES>
  </library>
  </component>

发现

  <root url="jar://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/appcompat-v7-26.0.0-beta1.aar/0d0a4f7af324a302451cdfd37e5e0547/jars/classes.jar!/" /> 
  <root url="file://$USER_HOME$/.gradle/caches/transforms-1/files-1.1/appcompat-v7-26.0.0-beta1.aar/0d0a4f7af324a302451cdfd37e5e0547/res" /> 

这两行0d0a4f7af324a302451cdfd37e5e0547这个串不一样。于是把这个文件复制代替它后,import android.support.v7.app.AppCompatActivity;能够正确import。所以我的方法是***将.idea/libraries下对应的包xml替换为正确的xml。***
如果找不出哪个lib对应的是哪个xml,可以将xml全部换掉,当然,对比的这个正确程序包,里面也要同样是包含有出错程序包里不能import的lib,它才会有相应的xml替换。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值