feat(android): add Android SDK auto-detection to build-apk.bat
When local.properties is missing, the build script now automatically: - Checks ANDROID_HOME environment variable first - Scans common Windows SDK locations: - %LOCALAPPDATA%\Android\Sdk - %USERPROFILE%\AppData\Local\Android\Sdk - C:\Android\Sdk - C:\Android - Creates local.properties with the detected SDK path - Displays helpful error message if SDK is not found This allows the build script to work on machines without manual configuration, making it easier to build APKs on different systems. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
4d62316d17
commit
c5f52190ef
|
|
@ -14,6 +14,64 @@ if not exist "gradlew.bat" (
|
||||||
exit /b 1
|
exit /b 1
|
||||||
)
|
)
|
||||||
|
|
||||||
|
:: Check and create local.properties if needed
|
||||||
|
if not exist "local.properties" (
|
||||||
|
echo [INFO] local.properties not found, attempting to detect Android SDK...
|
||||||
|
|
||||||
|
:: Try common SDK locations
|
||||||
|
set SDK_FOUND=0
|
||||||
|
|
||||||
|
:: Check ANDROID_HOME environment variable first
|
||||||
|
if defined ANDROID_HOME (
|
||||||
|
if exist "!ANDROID_HOME!\platform-tools" (
|
||||||
|
echo sdk.dir=!ANDROID_HOME:\=/!> local.properties
|
||||||
|
echo [INFO] Created local.properties with ANDROID_HOME: !ANDROID_HOME!
|
||||||
|
set SDK_FOUND=1
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
:: Try common Windows locations
|
||||||
|
if !SDK_FOUND!==0 (
|
||||||
|
for %%P in (
|
||||||
|
"%LOCALAPPDATA%\Android\Sdk"
|
||||||
|
"%USERPROFILE%\AppData\Local\Android\Sdk"
|
||||||
|
"C:\Android\Sdk"
|
||||||
|
"C:\Android"
|
||||||
|
"C:\Users\%USERNAME%\Android\Sdk"
|
||||||
|
) do (
|
||||||
|
if exist "%%~P\platform-tools" (
|
||||||
|
set "SDK_PATH=%%~P"
|
||||||
|
set "SDK_PATH=!SDK_PATH:\=/!"
|
||||||
|
echo sdk.dir=!SDK_PATH!> local.properties
|
||||||
|
echo [INFO] Created local.properties with SDK path: %%~P
|
||||||
|
set SDK_FOUND=1
|
||||||
|
goto :sdk_found
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
:sdk_found
|
||||||
|
if !SDK_FOUND!==0 (
|
||||||
|
echo [ERROR] Android SDK not found!
|
||||||
|
echo.
|
||||||
|
echo Please do one of the following:
|
||||||
|
echo 1. Set ANDROID_HOME environment variable to your SDK path
|
||||||
|
echo 2. Create local.properties file with: sdk.dir=C:/path/to/android/sdk
|
||||||
|
echo 3. Install Android Studio which includes the SDK
|
||||||
|
echo.
|
||||||
|
echo Common SDK locations:
|
||||||
|
echo - %LOCALAPPDATA%\Android\Sdk
|
||||||
|
echo - C:\Android\Sdk
|
||||||
|
echo.
|
||||||
|
pause
|
||||||
|
exit /b 1
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
echo [INFO] Using SDK from local.properties
|
||||||
|
type local.properties
|
||||||
|
echo.
|
||||||
|
|
||||||
:: Parse command line arguments
|
:: Parse command line arguments
|
||||||
set BUILD_TYPE=all
|
set BUILD_TYPE=all
|
||||||
if "%1"=="debug" set BUILD_TYPE=debug
|
if "%1"=="debug" set BUILD_TYPE=debug
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue