dx工具在转换lambda表达式的时候,不会转换,只能使用d8工具

// 这里是demo,采用的是dx 将jar转成dex,之前一直有问题,使用下边的方法之后就能看到报错信息
	ProcessBuilder processBuilder = new ProcessBuilder("cmd","/c","dx","--dex","--min-sdk-version=26","--output",outFile.absolutePath+file_separator+"daemon.dex",sourceFile.absolutePath);
                processBuilder.redirectErrorStream(true);
                process = processBuilder.start();
                InputStream inputStream = process.getInputStream();
                BufferedReader input = new BufferedReader(new InputStreamReader(inputStream));
                String ss=null;
                while ((ss=input.readLine())!=null){
                    System.out.println("错误信息是"+ss);
                }
                process.waitFor();
        		int exitValue = process.exitValue();
        		System.out.println("执行结果是"+exitValue);
// 使用d8工具转为dex
                ProcessBuilder processBuilder = new ProcessBuilder("cmd","/c","d8","--output",outFile.absolutePath,sourceFile.absolutePath);
                processBuilder.redirectErrorStream(true);
                process = processBuilder.start();
                InputStream inputStream = process.getInputStream();
                BufferedReader input = new BufferedReader(new InputStreamReader(inputStream));
                String ss=null;
                while ((ss=input.readLine())!=null){
                    System.out.println("错误信息是"+ss);
                }
                process.waitFor();
        		int exitValue = process.exitValue();
        		System.out.println("执行结果是"+exitValue);
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐