Contract-Invocation
為安卓應用生成智能合約包裝器
我已經下載了用於生成智能合約包裝器的命令行工具。我將編譯後的合約放入
out
web3j.bat 文件附近的文件夾中。但是當我執行此命令時web3j solidity generate ./out/test_sol_TestToken.bin ./out/test_sol_TestToken.abi -o D:\android_dev\projects\eth_test\app\src\main\java -p test.user
出現此錯誤
D:\Desktop\web3\bin>web3j solidity generate ./out/test_sol_TestToken.bin ./out/t est_sol_TestToken.abi -o D:\android_dev\projects\eth_test\app\src\main\java -p t est.user Exception in thread "main" java.lang.UnsupportedClassVersionError: org/web3j/con sole/Runner : Unsupported major.minor version 52.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.access$100(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
看來我的 jdk 版本不正確。我嘗試添加系統環境變數
JAVA_HOME=C:\Program Files (x86)\Java\jre7
但沒有運氣。有人可以指出 web3j 需要哪個 jdk 版本嗎?
看起來 web3 需要 jre8+。它在我更新 jre 並更改 JAVA_HOME 後創建了包裝器類