批处理设置使用 AndroidStudio 的 JRE 并立即生效

@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
posted @ 2022-06-02 11:18  汉学  阅读(221)  评论(0)    收藏  举报