Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/197.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 未能找到';安卓家庭';环境变量。未能找到';安卓&x27;在';路径';_Android_Cordova_Ubuntu - Fatal编程技术网

Android 未能找到';安卓家庭';环境变量。未能找到';安卓&x27;在';路径';

Android 未能找到';安卓家庭';环境变量。未能找到';安卓&x27;在';路径';,android,cordova,ubuntu,Android,Cordova,Ubuntu,我试图在我的ubuntu系统上为android构建默认的Hello World phonegap项目,但我在每一步都会遇到错误 简短版本: 没有sudo,我无法创建phonegap项目(不完全正确——见下文) 在用sudo创建了一个phonegap项目之后,如果没有sudo,我无法构建android 当我输入“sudophonegap buildandroid”时,我丢失了路径设置,导致了一个错误 我试图通过在.bashrc中包含行“alias sudo='sudo env PATH=$PATH

我试图在我的ubuntu系统上为android构建默认的Hello World phonegap项目,但我在每一步都会遇到错误

简短版本:

  • 没有sudo,我无法创建phonegap项目(不完全正确——见下文)
  • 在用sudo创建了一个phonegap项目之后,如果没有sudo,我无法构建android
  • 当我输入“sudophonegap buildandroid”时,我丢失了路径设置,导致了一个错误
  • 我试图通过在.bashrc中包含行“alias sudo='sudo env PATH=$PATH'”来修复最后一个问题,如中所建议的,但它不起作用。我还在.bash_配置文件中添加了ANDROID_主页和路径行,但没有成功
  • 我认为“安卓”命令实际上在我的道路上 下面是my.bashrc的最后几行:

    export PATH="$HOME/Android/tools:$PATH"
    export PATH="$HOME/Android/platform-tools:$PATH"
    export ANDROID_HOME="$HOME/Android:$PATH"
    alias sudo='sudo env PATH=$PATH'
    
    我在~/.bash_配置文件中也有以下内容:

    export PATH="$HOME/Android/tools:$PATH"
    export PATH="$HOME/Android/platform-tools:$PATH"
    export ANDROID_HOME="$HOME/Android:$PATH"
    
    长版本:

    gregory@gregory-1001PXD:~/javascript$ phonegap create phonetest
    
    
    Error: EACCES, permission denied '/home/gregory/.config/configstore/update-notifier-cordova.json'
    You don't have access to this file.
    
        at Object.fs.openSync (fs.js:432:18)
        at Object.fs.readFileSync (fs.js:286:15)
        at Object.create.all.get (/usr/local/lib/node_modules/phonegap/node_modules/cordova/node_modules/update-notifier/node_modules/configstore/index.js:34:26)
        at Object.Configstore (/usr/local/lib/node_modules/phonegap/node_modules/cordova/node_modules/update-notifier/node_modules/configstore/index.js:27:44)
        at new UpdateNotifier (/usr/local/lib/node_modules/phonegap/node_modules/cordova/node_modules/update-notifier/index.js:34:17)
        at module.exports (/usr/local/lib/node_modules/phonegap/node_modules/cordova/node_modules/update-notifier/index.js:123:23)
        at checkForUpdates (/usr/local/lib/node_modules/phonegap/node_modules/cordova/src/cli.js:64:20)
        at cli (/usr/local/lib/node_modules/phonegap/node_modules/cordova/src/cli.js:114:5)
        at Object.<anonymous> (/usr/local/lib/node_modules/phonegap/node_modules/cordova/bin/cordova:41:1)
        at Module._compile (module.js:456:26)
    
    
    gregory@gregory-1001PXD:~/javascript$ sudo phonegap create phonetest
    [sudo] password for gregory: 
    Creating a new cordova project.
    gregory@gregory-1001PXD:~/javascript$ cd phonetest/
    gregory@gregory-1001PXD:~/javascript/phonetest$ sudo phonegap build android
    [phonegap] executing 'cordova build android'...
    cp: no such file or directory: /home/gregory/javascript/phonetest/icon.png
    
    
    Running command: /home/gregory/javascript/phonetest/platforms/android/cordova/build 
    
    [Error: Failed to find 'ANDROID_HOME' environment variable. Try setting setting it manually.
    Failed to find 'android' command in your 'PATH'. Try update your 'PATH' to include path to valid SDK directory.]
    
    ERROR building one of the platforms: Error: /home/gregory/javascript/phonetest/platforms/android/cordova/build: Command failed with exit code 2
    You may not have the required environment or OS to build this project
    
    Error: /home/gregory/javascript/phonetest/platforms/android/cordova/build: Command failed with exit code 2
    
    gregory@gregory-1001PXD:~/javascript$phonegap创建phonetest
    错误:EACCES,权限被拒绝“/home/gregory/.config/configstore/update notifier cordova.json”
    您没有访问此文件的权限。
    在Object.fs.openSync(fs.js:432:18)
    在Object.fs.readFileSync(fs.js:286:15)
    在Object.create.all.get(/usr/local/lib/node_modules/phonegap/node_modules/cordova/node_modules/update notifier/node_modules/configstore/index.js:34:26)
    在Object.Configstore(/usr/local/lib/node_modules/phonegap/node_modules/cordova/node_modules/update notifier/node_modules/Configstore/index.js:27:44)
    在新的UpdateNotifier(/usr/local/lib/node_modules/phonegap/node_modules/cordova/node_modules/update notifier/index.js:34:17)
    在module.exports(/usr/local/lib/node_modules/phonegap/node_modules/cordova/node_modules/update notifier/index.js:123:23)
    在checkForUpdates(/usr/local/lib/node_modules/phonegap/node_modules/cordova/src/cli.js:64:20)
    在cli(/usr/local/lib/node_modules/phonegap/node_modules/cordova/src/cli.js:114:5)
    反对。(/usr/local/lib/node_modules/phonegap/node_modules/cordova/bin/cordova:41:1)
    在模块处编译(Module.js:456:26)
    gregory@gregory-1001PXD:~/javascript$sudo phonegap创建phonetest
    [sudo]gregory的密码:
    创建新的cordova项目。
    gregory@gregory-1001PXD:~/javascript$cd phonetest/
    gregory@gregory-1001PXD:~/javascript/phonetest$sudophonegap构建android
    [phonegap]正在执行“cordova构建android”。。。
    cp:没有这样的文件或目录:/home/gregory/javascript/phonetest/icon.png
    运行命令:/home/gregory/javascript/phonetest/platforms/android/cordova/build
    [错误:未能找到“ANDROID_HOME”环境变量。请尝试手动设置它。
    在您的“路径”中找不到“android”命令。请尝试更新您的“路径”以包含有效SDK目录的路径。]
    构建其中一个平台时出错:ERROR:/home/gregory/javascript/phonetest/platforms/android/cordova/build:命令失败,退出代码为2
    您可能没有构建此项目所需的环境或操作系统
    错误:/home/gregory/javascript/phonetest/platforms/android/cordova/build:命令失败,退出代码为2
    
    但是我认为android命令在我的路径中(它完成了)

    注意:如果删除文件update-notifier-cordova.json,我可以创建一个没有sudo的项目。但它仍然会产生一个错误,如下所示

    gregory@gregory-1001PXD:~/javascript$ sudo mv /home/gregory/.config/configstore/update-notifier-cordova.json ~/Documents/
    gregory@gregory-1001PXD:~/javascript$ phonegap create phonetest
    Creating a new cordova project.
    
    gregory@gregory-1001PXD:~/javascript$ cd phonetest/
    gregory@gregory-1001PXD:~/javascript/phonetest$ phonegap build android
    [phonegap] executing 'cordova platform add --save android'...
    Error: Failed to fetch platform android@~4.1.0
    Probably this is either a connection problem, or platform spec is incorrect.
    Check your connection and platform name/version/URL.
    Error: EACCES, open '/home/gregory/.cordova/lib/npm_cache/cordova-android/4.1.1/package/.npmignore'
    
    [phonegap] executing 'cordova build android'...
    Error: No platforms added to this project. Please use `cordova platform add <platform>`.
    
    gregory@gregory-1001PXD:~/javascript$sudo mv/home/gregory/.config/configstore/update-notifier-cordova.json~/Documents/
    gregory@gregory-1001PXD:~/javascript$phonegap创建phonetest
    创建新的cordova项目。
    gregory@gregory-1001PXD:~/javascript$cd phonetest/
    gregory@gregory-1001PXD:~/javascript/phonetest$phonegap构建android
    [phonegap]正在执行“cordova平台添加--保存android”。。。
    错误:无法获取平台android@~4.1.0
    这可能是连接问题,或者平台规范不正确。
    检查您的连接和平台名称/版本/URL。
    错误:EACCES,打开“/home/gregory/.cordova/lib/npm_cache/cordova android/4.1.1/package/.npmignore”
    [phonegap]正在执行“cordova构建android”。。。
    错误:此项目中未添加任何平台。请使用“cordova平台添加”。
    
    他们的JIRA中记录了这一点:

    使用以下命令检查文件的所有权:

    ls-al/home/gregory/.config/configstore/update notifier cordova.json

    如果是root,您可能希望尝试重新安装cordova-否则请使用以下建议的解决方法:

    chmod 744/home/gregory/.config/configstore/update notifier cordova.json