Stm32cubemx_v6-1-1 提示需要JDK8版本,但已经安装JDK11 exe4j

官网下载地址:https://www.st.com/zh/development-tools/stm32cubemx.html#get-software

分析

这是个exe4j打包的程序,所以可以直接通过 java -jar 执行
也可以用压缩软件打开(如7zip Bandizip)

相同案例:Logisim 打不开的解决方案(Windows10)

解决方案

定位到exe安装包所在目录

cd /d D:\0Download\en.stm32cubemx_v6-1-1

执行安装程序

java -jar SetupSTM32CubeMX-6.1.1.exe

打开已经安装的 STM32CubeMX (可做成bat脚本)

start /min javaw -jar "C:\Program Files\STMicroelectronics\STM32Cube\STM32CubeMX\STM32CubeMX.exe"

这也是java+exe4j打包的exe可以在Linux/Windows/MacOS平台运行的原因。

提取方法

Windows双击打开该exe,保持界面不关闭,
一般在C:\当前用户名\AppData\Local\Temp下的 .jar (直接用EveryThing搜索.jar也可以)

其他提取方法(未测试,可能可用可能不可用)

import java.io.*;
import java.util.*;

public class gen {
    public static void main(String args[]) throws IOException {
        FileInputStream fin = new FileInputStream(args[0]); // 可以将整个exe文件解码
        FileOutputStream fout = new FileOutputStream(args[1]);
        BufferedInputStream bin = new BufferedInputStream(fin);
        BufferedOutputStream bout = new BufferedOutputStream(fout);
        int in = 0;
        do {
            in = bin.read();
            if (in == -1)
                break;
            in ^= 0x88;
            bout.write(in);
        } while (true);
        bin.close();
        fin.close();
        bout.close();
        fout.close();
    }
}

posted @ 2021-01-25 16:05  蓝天上的云℡  阅读(790)  评论(0编辑  收藏  举报