Android更新导致错误:错误:java.nio.file.AccessDeniedException:/home/path/.android/build-cache.lock

时间:2017-11-07 17:48:45

标签: android android-gradle build.gradle

将Android Studio从版本2.3更新为3.1 Canary。但Gradle似乎存在巨大问题。

  

错误:java.nio.file.AccessDeniedException:   /home/pathname/.android/build-cache.lock

我做了什么:

  1. 已删除.gradle,认为它可以解决问题,但在重建项目后,再次显示.gradle
  2. 从系统中删除了所有与Android相关的东西(SDK,Android Studio和剩余的项目),从零开始下载带有所有必需软件包的Android Studio。仍然是同样的问题。
  3. 将android studio版本从3.1 canary更改为3.0,也没有成功。
  4. 看了这个post,但没有帮助。
  5. 在一些帖子中读到Android Studio损坏时会发生这种情况。但我已从官方网站下载。
  6. 任何想法如何解决?

8 个答案:

答案 0 :(得分:5)

尝试在更新后同步项目时遇到同样的错误。解决问题的方法是给.android文件夹提供正确的权限,而不是在root模式下运行工作室(如果你没有指定你已经拥有它,那么它将在root下重新安装所有SDK)。

所以,打开终端并输入:

sudo chown -R root:YOURUSERNAME /home/YOURUSERNAME_FOLDER/.android/
sudo chmod -R 775 /home/YOURUSERNAME_FOLDER/.android/

轻松修复,我希望它有助于某人。

答案 1 :(得分:3)

以管理员身份打开Android Studio ..这对我有用。

答案 2 :(得分:0)

对我来说,当调试器在编译时存储数据时,我的项目文件会拒绝访问。对我来说,我必须访问文件/文件夹然后删除它。为我工作。

答案 3 :(得分:0)

在项目的主build.gradle中,在“allprojects”中:

  allprojects {
        repositories {
            jcenter()
        }
    gradle.taskGraph.whenReady {
        tasks.each { task ->
            if (task.name.equals('mockableAndroidJar')) {
                task.enabled = false
            }
        }
    }
 }

答案 4 :(得分:0)

已解决,在Linux中,我将目录的所有权和模式更改为以下内容:

  

sudo chown MyUserName:MyUserName   //这允许从管理员访问更改为用户访问。   注意它应该从    在那里,您的android studio所在的位置。可能在    /Home/Download文件夹

     

sudo chmod -664 //此操作允许文件可读写。

重新安装或其他多余的东西似乎无济于事,除非您确实处理了正确的root规范和文件模式。

答案 5 :(得分:0)

2019年9月26日:我遇到了同样的问题,我在Ionic 4中做一个项目,我得到了这个警告:API'variantOutput.getPackageLibrary()'已过时,已被'variant.getPackageLibraryProvider()'取代。

(先是)

导致错误的Android更新:错误:java.nio.file.AccessDeniedException:/ home / path / android等,...因此,我删除了ionic项目文件夹中的Android文件夹,例如路径:/ Users / homefolder / Desktop / CommunityLoginApp / android删除了此文件或将其移至垃圾箱,然后我执行了以下操作:

在Android上运行Ionic应用程序(无$):

  1. 离子电容器添加android
  2. ng构建
  3. 离子电容器复制android
  4. 离子电容器运行android(第一次运行-它将自动打开Android Studio)/(如果已完成任何更改):运行离子电容器运行android -l(用于模拟器上的实时更改)。io

它工作得很好,并且我在自己的物理android中获得了构建,但是在输出面板中显示了一个INFO,并且警告现在更改为INFO。 Cooooollllll

答案 6 :(得分:0)

您可以以管理员身份启动Android Studio。但这可能只是一种解决方法,实际上对某些人而言并非如此。幸运的是,还有另一种避免此问题的方法:

  1. 打开资源管理器
  2. 转到构建缓存文件所在的文件夹
  3. 右键单击它
  4. 更改文件的权限,使其具有作为用户的完全访问权限

这应该可以解决问题,并且可以很好地解决类似的问题(实际上是android.lock文件!)

答案 7 :(得分:0)

每次都可以重新启动Windows!奇怪,但是有效。