2016-07-25 37 views
0

我试图从Java应用程序运行流星的项目,这是我为它编写的代码: - 从Java应用证明无法通过Java应用程序远程构建流星项目?

String[] command = { "/bin/bash", "-c" ,"cd /home/cloud2/Music/MyMeteorProject; meteor run android-device" }; 
ProcessBuilder builder = new ProcessBuilder(command); 
     builder.redirectErrorStream(true); 
     Process process=null; 
     try { 
      process = builder.start(); 
     } catch (IOException e1) { 
      e1.printStackTrace(); 
     } 
     InputStream is = process.getInputStream(); 
     BufferedReader reader = new BufferedReader(new InputStreamReader(is)); 

     String line = null; 
     try { 
      while ((line = reader.readLine()) != null) 
       System.out.println(line);// This line display error message on the console 
     } catch (IOException e) { 
       e.printStackTrace(); 
     } 

大厦流星项目按照Eclipse控制台错误: -

您的系统似乎尚未满足为Android构建 应用程序的所有要求。

请按照行动指南的安装说明: http://guide.meteor.com/mobile.html#installing-prerequisites

的个性化需求现状:

✓的Java JDK

✗的Android SDK: 无法找到 'ANDROID_HOME' 环境变量。尝试设置
手动设置它。无法在您的 'PATH'中找到'android'命令。尝试更新您的'PATH'以包含有效的SDK 目录的路径。

✗Android target:未找到Android SDK。确保安装了 。如果它不在默认位置,请设置 ANDROID_HOME环境变量。

✗Gradle:无法在Android SDK中找到gradle 包装。找不到Android SDK目录。
可能需要安装Android SDK或设置'ANDROID_HOME'env 变量。

但是,当我从终端运行相同的项目它运行良好,因此它看起来像ANDROID_HOME已经设置。那么为什么该项目不从Java应用程序运行? 这个问题真的让我烦恼了好几天。任何帮助将不胜感激。

+0

您使用Eclipse或其他IDE来运行该程序吗? – lsiva

+0

我正在使用eclipse来运行我的java应用程序。 –

+0

难道你不能将项目导入为Android项目并从Eclipse中运行它吗? – lsiva

回答

0

试试这个,如下所示添加ANDROID_HOME。

try { 
     Map<String, String> envs = pb.environment(); 
     System.out.println(envs.get("Path")); 
     envs.put("ANDROID_HOME", "<ANDROID_PATH>"); 
     pb.redirectErrorStream(); 
     process = builder.start(); 
    } catch (IOException e1) { 
     e1.printStackTrace(); 
    } 
+0

我添加了sdk path-> System.setProperty(“ANDROID_HOME”,“/ home/cloud2/Android/Sdk”);就像你说的,但它也行不通。 –

+0

它是同一个错误还是它的不同? – lsiva

+0

错误是完全相同的。 –