我正在尝试从Java应用程序运行Meteor项目,这是我为它编写的代码:
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();
}
从Java应用程序构建Meteor项目在Eclipse控制台中显示以下错误:
您的系统似乎尚未满足构建的所有要求 适用于Android的应用。
请按照移动指南中的安装说明操作: http://guide.meteor.com/mobile.html#installing-prerequisites
个人要求的状况:
✓JavaJDK
✗AndroidSDK: 无法找到' ANDROID_HOME'环境变量。尝试设置
手动设置。无法找到' android'你的命令 ' PATH&#39 ;.尝试更新你的路径'包含有效SDK的路径 目录。✗Android目标:未找到Android SDK。确保它 已安装。如果它不在默认位置,请设置 ANDROID_HOME环境变量。
✗格拉德:找不到gradle Android SDK中的包装器。找不到Android SDK目录 可能需要安装Android SDK或设置' ANDROID_HOME' ENV 变量
但是当我从终端运行相同的项目时,它运行正常,所以看起来已经设置了ANDROID_HOME。那么为什么项目不能从Java应用程序运行呢?
答案 0 :(得分: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();
}