Advertisement
mysapta

buildjar.bat

Feb 14th, 2019
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Batch 2.41 KB | None | 0 0
  1. @echo off
  2. echo.
  3. echo Compiles your Java code into classes.dex
  4. echo Verified to work in Delphi XE5 Update 1 and 2
  5. echo.
  6. echo Place this batch in a java folder below your project (project\java)
  7. echo Place the source in project\java\src\com\dannywind\delphi
  8. echo If your source file location or name is different, please modify it below.
  9. echo.
  10.  
  11. setlocal
  12.  
  13. set ANDROID_JAR="C:\Users\Public\Documents\Embarcadero\Studio\20.0\PlatformSDKs\android-sdk-windows\platforms\android-28\android.jar"
  14. set DX_LIB="C:\Users\Public\Documents\Embarcadero\Studio\20.0\PlatformSDKs\android-sdk-windows\build-tools\28.0.3\lib"
  15. set EMBO_DEX="D:\DelphiBootReceiver\Android\Debug\classes.dex"
  16. ::set EMBO_DEX="C:\Program Files (x86)\Embarcadero\Studio\20.0\lib\android\debug\classes.dex"
  17. set PROJ_DIR=%CD%
  18. set VERBOSE=0
  19. set JAVASDK="C:\Program Files\Java\jdk1.8.0_60\bin"
  20. set DX_BAT="C:\Users\Public\Documents\Embarcadero\Studio\20.0\PlatformSDKs\android-sdk-windows\build-tools\28.0.3\dx.bat"
  21.  
  22. echo.
  23. echo Compiling the Java source files
  24. echo.
  25. pause
  26. mkdir output 2> nul
  27. mkdir output\classes 2> nul
  28. if x%VERBOSE% == x1 SET VERBOSE_FLAG=-verbose
  29. %JAVASDK%\javac %VERBOSE_FLAG% -Xlint:all -classpath %ANDROID_JAR% -d output\classes -source 1.8 -target 1.8 src\com\dannywind\delphi\BootReceiver.java
  30.  
  31. echo.
  32. echo Creating jar containing the new classes
  33. echo.
  34. pause
  35. mkdir output\jar 2> nul
  36. if x%VERBOSE% == x1 SET VERBOSE_FLAG=v
  37. %JAVASDK%\jar c%VERBOSE_FLAG%f output\jar\test_classes.jar -C output\classes com
  38.  
  39. echo.
  40. echo Converting from jar to dex...
  41. echo.
  42. pause
  43. mkdir output\dex 2> nul
  44. if x%VERBOSE% == x1 SET VERBOSE_FLAG=--verbose
  45. call %DX_BAT% --dex %VERBOSE_FLAG% --output=%PROJ_DIR%\output\dex\test_classes.dex --positions=lines %PROJ_DIR%\output\jar\test_classes.jar
  46. ::call %DX_BAT% --dex --no-strict --verbose --output=%PROJ_DIR%\output\dex\test_classes.dex --positions=lines %PROJ_DIR%\output\jar\test_classes.jar
  47.  
  48.  
  49. echo.
  50. echo Merging dex files
  51. echo.
  52. pause
  53. %JAVASDK%\java -cp %DX_LIB%\dx.jar com.android.dx.merge.DexMerger %PROJ_DIR%\output\dex\classes.dex %PROJ_DIR%\output\dex\test_classes.dex %EMBO_DEX%
  54. ::%JAVASDK%\java -cp %DX_LIB%\dx.jar com.android.dx.merge.DexMerger %PROJ_DIR%\output\dex\classes.dex %PROJ_DIR%\output\dex\test_classes.dex %EMBO_DEX%
  55.  
  56. echo.
  57. echo Now use output\dex\classes.dex instead of default classes.dex
  58. echo And add broadcastreceiver to AndroidManifest.template.xml
  59. echo.
  60.  
  61. :Exit
  62. pause
  63.  
  64. endlocal
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement