在WebApp(tomcat环境)中使用Java执行gradle命令来打包APK

发布于 2022-09-06 05:04:33 字数 1993 浏览 15 评论 0

我想使用一个网页来打包我项目的apk,但在servlet中,每次java执行到“./gradlew assembleRelease"命令就要报错,说什么端口已经被占用。开发环境是idea。
报的错是:
错误: 代理抛出异常错误: java.rmi.server.ExportException: Port already in use:
1099; nested exception is:
java.net.BindException: Address already in use

下面是我执行打包命令的方法,即runCommands方法。进入for循环开始执行命令行。

public static String orders[] = {"cd /Users/whoami/Downloads/WebSocketDemo","./gradlew assembleRelease"};
    public static void runCommands(String[] orders) throws IOException {

        File wd = new File("/bin");
        Process proc = null;
        try {
            proc = Runtime.getRuntime().exec("/bin/bash", null, wd);
        } catch (IOException e) {
            e.printStackTrace();
        }
        if (proc != null) {
//             BufferedReader in = new BufferedReader(new InputStreamReader(proc.getInputStream()));
            SequenceInputStream sis = new SequenceInputStream(proc.getInputStream(), proc.getErrorStream());
            InputStreamReader isr = new InputStreamReader(sis, "UTF-8");
            BufferedReader br = new BufferedReader(isr);
            PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(proc.getOutputStream())), true);
            for (String s : orders) {
                System.out.println("command is: " + s);
                out.println(s);
            }
            out.println("exit");
            try {
                String line;
                while ((line = br.readLine()) != null) {
                    System.out.println(line);
                    if (line.equals("BUILD SUCCESSFUL")) {
                        return;
                    }
                }
                proc.waitFor();
                br.close();
                sis.close();
                out.close();
                proc.destroy();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

梨涡 2022-09-13 05:04:33

大兄弟可以用jetty,是没有问题的.

恍梦境° 2022-09-13 05:04:33

哥,在WebApp(tomcat环境)中使用Java执行gradle命令来打包APK

这个问题解决了吗? 紧急求助啊

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文