运行Cordova运行Android时如何修复只读文件系统?

时间:2019-06-10 00:33:52

标签: cordova android-studio ubuntu gradle chmod

我正在尝试执行

cordova run android --verbose

我明白了

spawn EACCES

作为错误。

所以,我在线搜索并运行

cordova run android --verbose

并将错误标识为:

Running command: /snap/android-studio/76/android-studio/gradle/gradle-5.1.1/bin/gradle -p /home/extensify/Desktop/Code/cordova/platforms/android wrapper -b /home/extensify/Desktop/Code/cordova/platforms/android/wrapper.gradle
spawn EACCES
Error: spawn EACCES
    at _errnoException (util.js:1022:11)
    at ChildProcess.spawn (internal/child_process.js:323:11)
    at Object.exports.spawn (child_process.js:502:9)
    at Function.spawn (/home/extensify/Desktop/Code/cordova/node_modules/cross-spawn/index.js:12:24)
    at exports.spawn (/home/extensify/Desktop/Code/cordova/node_modules/cordova-common/src/superspawn.js:90:28)
    at ProjectBuilder.runGradleWrapper (/home/extensify/Desktop/Code/cordova/platforms/android/cordova/lib/builders/ProjectBuilder.js:70:20)
    at /home/extensify/Desktop/Code/cordova/platforms/android/cordova/lib/builders/ProjectBuilder.js:209:29
    at _fulfilled (/home/extensify/Desktop/Code/cordova/node_modules/q/q.js:854:54)
    at self.promiseDispatch.done (/home/extensify/Desktop/Code/cordova/node_modules/q/q.js:883:30)
    at Promise.promise.promiseDispatch (/home/extensify/Desktop/Code/cordova/node_modules/q/q.js:816:13)

通过更改文件/snap/android-studio/76/android-studio/gradle/gradle-5.1.1/bin/gradle的权限,我可以阅读其中的内容

要解决此问题,我尝试运行

sudo chmod +x /snap/android-studio/76/android-studio/gradle/gradle-5.1.1/bin/gradle

并不断得到

chmod: changing permissions of '/snap/android-studio/76/android-studio/gradle/gradle-5.1.1/bin/gradle': Read-only file system

我读到的可以通过重新安装硬盘来解决,我再次尝试使用几个命令,但无法解决。

接下来我可以尝试什么?

1 个答案:

答案 0 :(得分:0)

此答案适用于Ubuntu 18.04

我遇到了同样的问题,这是我如何解决它们:

  1. 如果您是使用snap安装的,请删除Android Studio。
  2. Download Android Studio来自他们的网站
  3. 为您的用户个人资料提取为/usr/local/,为共享用户为/opt/提取
  4. 如果您使用的是64位计算机,请运行以下命令以安装一些必需的32位软件包:
sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 lib32z1 libbz2-1.0:i386
  1. 安装KVM,将您自己添加到组kvm
  2. 打开终端,导航到android-studio/bin/目录,然后执行./studio.sh
  3. 执行安装过程,并确保在SDK平台中安装API级别28(Android 9.0 Pie)
  4. 将以下目录添加到$PATH
    • /opt/android-studio/gradle/gradle-{version}/bin/usr/local/android-studio/gradle/gradle-{version}/bin
    • /opt/android-studio/jre/bin/usr/local/android-studio/jre/bin
    • /home/{name}/Android/Sdk/platform-tools
    • /home/{name}/Android/Sdk/tools/bin
    • /home/{name}/Android/Sdk/emulator/bin
  5. 使用Android Studio创建虚拟设备
  6. 使用android list avd列出虚拟设备
  7. 使用emulator -avd {deviceName}
  8. 启动虚拟设备
  9. 运行cordova run android,它应该可以工作

推荐

  • 运行Android Studio,转到Tools > Create Desktop Entry...,以便您可以轻松启动Android Studio