public void createProject( AndroidSDK target, String projectName, File path, String activity, String packageName) throws CoreException { IStatus status = HybridProjectConventions.validateProjectName(projectName); if (!status.isOK()) throw new CoreException(status); // activity class name matches the project name status = HybridProjectConventions.validateProjectName(activity); if (!status.isOK()) throw new CoreException(status); status = HybridProjectConventions.validateProjectID(packageName); if (!status.isOK()) throw new CoreException(status); ExternalProcessUtility processUtility = new ExternalProcessUtility(); StringBuilder command = new StringBuilder(); command.append(getAndroidCommand()); command.append(" create project"); command.append(" --target ").append(target.getId()); command.append(" --path ").append('"').append(path.getPath()).append('"'); command.append(" --name ").append('"').append(projectName).append('"'); command.append(" --activity ").append(activity); command.append(" --package ").append(packageName); CreateProjectResultParser parser = new CreateProjectResultParser(); processUtility.execSync( command.toString(), null, parser, parser, new NullProgressMonitor(), null, null); if (parser.getErrorString() != null) { throw new CoreException( new Status( IStatus.ERROR, AndroidCore.PLUGIN_ID, "Error creating the Android project: " + parser.getErrorString())); } }