@echo off
rem 以管理员身份运行批处理时,当时路径会变成 c:\windows\system,下面命令回到bat所在文件夹
pushd %~dp0
echo "即将设置环境变量,使用 AndroidStudio 内置的 JRE...“
wmic ENVIRONMENT where "name='JAVA_HOME'" delete
wmic ENVIRONMENT create name="JAVA_HOME",username="<system>",VariableValue="D:\Android\android-studio\jre"
rem 设置的 %JAVA_HOME% 不能即时生效,无法引用,因此下面使用绝对路径设置 PATH
rem 经验证,直接更新环境变量不能立即生效,先删除再添加的方法可以立即生效
set "PATH=%PATH%;D:\Android\android-studio\jre\bin"
wmic ENVIRONMENT where "name='path'" delete
wmic ENVIRONMENT create name="path",username="<system>",VariableValue="%PATH%"
echo.-------------------------
java -version
echo.-------------------------
copy ..\..\app\src\main\java\cn\zh\test\FilePacker.java .
rem 因为FilePacker.java是从所在包复制而来,脱离了原来包的位置,在这里编译运行时会提示“找不到或无法加载主类”
rem 使用 -d . 编译将会在当前文件夹下自动重建包的目录结构以保证正常运行
javac -d . -encoding utf8 FilePacker.java
rem 需要使用完整包名调用
java cn.zh.test.FilePacker
echo 复制 sh.db 到 assets 文件夹...
copy /Y sh.db ..\..\app\src\main\assets
del FilePacker.java
rem 删除自动建立的包结构
rmdir /S /Q cn
echo 数据文件生成完毕!
pause