建议本机编译,不要跨系统使用.
1.下载安装Java SE Development Kit 8(JDK8)。
https://www.oracle.com/technetwork/cn/java/javase/downloads/jdk8-downloads-2133151-zhs.html
2.Apache ANT http://ant.apache.org/bindownload.cgi, 下载1.10.*
http://mirrors.shu.edu.cn/apache//ant/binaries/apache-ant-1.10.5-bin.zip。
3.Google App Engine SDK for Java 。 https://cloud.google.com/appengine/docs/standard/java/download 下载最新版本App Engine SDK for Java。
https://storage.googleapis.com/appengine-sdks/featured/appengine-java-sdk-1.9.69.zip 可能需要代理。
4.下载Git简版。 https://git-scm.com/download/win
https://github.com/git-for-windows/git/releases/download/v2.7.3.windows.1/PortableGit-2.7.3-64-bit.7z.exe
5.App Inventor 2 源代码 http://appinventor.mit.edu/appinventor-sources/
https://github.com/mit-cml/appinventor-sources/archive/master.zip
[2017.8.19修改:] 不建议直接下载zip文件,而是建议使用官方的git下载最新代码。
1.先安装java
JRE可以不安装。
2.Git
3.其余压缩包解压到E:\ai2sever
5.设置系统变量path:
拷贝到记事本里面编辑,然后拷贝回去。将各个目录的bin添加到系统PATH里面。
例如:E:\ai2server\git\bin;E:\ai2server\JDK\bin;E:\ai2server\JDK\JRE\bin;
验证一下路径有没有问题:
6. git & ant编译:
目路 e:\ai2server 命令行(CMD)下运行:
git clone https://github.com/mit-cml/appinventor-sources.git
cd appinventor-sources
copy sample-.gitignore .gitignore
git submodule update --init
此时App Inventor 2的最新源代码就在 e:\ai2server\appinventor-sources下。
若出现
error: RPC failed; curl 18 transfer closed with outstanding read data remaining
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
试试:https://gte.fsyz.net/node/1895 或者: git clone git://github.com/mit-cml/appinventor-sources.git
e:\ai2server\appinventor-sources\lib\blockly 和 e:\ai2server\appinventor-sources\lib\closure-library 也同步到最新版了。
第一次编译,先ant MakeAuthKey 然后再 ant;
编译中可能有关utf-8的出错,方法:(感谢 Victor Shang) 可搜索下CMD UTF-8的有关资料。
cd appinventor
chcp 65001
set JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF-8"
ant MakeAuthKey
ant
7.把appinventor-sources-master\appinventor\appengine\build\war里面的所有文件复制到Devserver
把appinventor-sources-master\appinventor\buildserver\build\run里面的lib目录复制到新建的BuildServer目录里面
把解压好的appengine-java-sdk-1.9.27目录改名为appengine
8.新建rundev.bat
@echo off
echo "Starting App Inventor 2..."
"E:\ai2server\JRE\bin\java" -cp "E:\ai2server\AppEngine\lib\appengine-tools-api.jar" com.google.appengine.tools.KickStart com.google.appengine.tools.development.DevAppServerMain %* --port=8888 --address=0.0.0.0 E:\ai2server\Devserver@echo off
echo "Starting App Inventor 2 DevAppServer..."
chcp 65001
cd %~dp0
SET JAVA_HOME=%~dp0\jdk
SET JRE_HOME=%~dp0\jdk\jre
SET APPE_HOME=%~dp0\appengine
SET PATH=%PATH%;%JAVA_HOME%\bin;%JRE_HOME%\bin;%APPE_HOME%\bin
SET JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF-8"
java -cp "%APPE_HOME%\lib\appengine-tools-api.jar" com.google.appengine.tools.KickStart com.google.appengine.tools.development.DevAppServerMain %* --port=8888 --disable_update_check --address=0.0.0.0 Devserver
9.新建runbul.bat
@echo off
echo "Starting App Inventor 2 BuildServer..."
chcp 65001
cd %~dp0
SET JAVA_HOME=%~dp0\jdk
SET JRE_HOME=%~dp0jdk\jre
SET BUILD_HOME=%~dp0\BuildServer
SET PATH=%PATH%;%JAVA_HOME%\bin;%JRE_HOME%\bin;
SET JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF-8"
cd "%BUILD_HOME%"
java -cp "*" -Dfile.encoding=UTF-8 com.google.appinventor.buildserver.BuildServer
之后, appinventor-sources-master和apache-ant-1.9.6就可以删掉了。
目录结构:(Python其实没用。)
双击2个bat就可以运行了。
发现端口被占用就在任务管理器中关闭java se程序再运行。
10.版本更新:
cd appinventor-sources
git pull
git submodule update
cd appinventor
chcp 65001
set JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF-8"
ant clean
ant
------------------------------------------------------------------------
清除本地修改 git reset --hard
拉代码 git pull