how to generate apk file using a command line?
android, apk, command-line, command-prompt, eclipse
Solution
The apk by default is located under bin and this is correct, but when you distribute source code it's better to not add any apk because a "fresh" compiled apk is always a better solution.
if you have a file called `build.xml` in the root of your project just do
ant debug
otherwise you need to update your project with the minimum informations required for the building phase with
android update project -t android-10 -p .
in this case `android-10` is a target for your apk/app/api and you can customize this option for your targeted device.
After this you get your `build.xml` and everything is in place for generating an apk.
Problem
please tell me how to build apk files of a project without the use of ECLIPSE ide. i found some infos about using a batch file but i don't know how to remake it. ``` echo on SET PREV_PATH=%CD% cd /d %0\.. REM Clear bin folder rmdir "bin" /S /Q rmdir "gen" /S /Q mkdir "bin" || goto EXIT mkdir "gen" || goto EXIT REM Set your application name SET APP_NAME=SecureSms REM Define minimal Android revision SET ANDROID_REV=android-8 REM Define aapt add command SET ANDROID_AAPT_ADD="%ANDROID-SDK%\platforms\%ANDROID_REV%\tools\aapt.exe" add REM Define aapt pack and generate resources command SET ANDROID_AAPT_PACK="%ANDROID-SDK%\platforms\%ANDROID_REV%\tools\aapt.exe" package -v -f -I "%ANDROID-SDK%\platforms\%ANDROID_REV%\android.jar" REM Define class file generator command SET ANDROID_DX="%ANDROID-SDK%\platform-tools\dx.bat" --dex REM Define Java compiler command SET JAVAC="%JAVABIN%\javac.exe" -classpath "%ANDROID-SDK%\platforms\%ANDROID_REV%\android.jar" SET JAVAC_BUILD=%JAVAC% -sourcepath "src;gen" -d "bin" REM Generate R class and pack resources and assets into resources.ap_ file call %ANDROID_AAPT_PACK% -M "AndroidManifest.xml" -A "assets" -S "res" -m -J "gen" -F "bin\resources.ap_" || goto EXIT REM Compile sources. All *.class files will be put into the bin folder call %JAVAC_BUILD% src\org\secure\sms\*.java || goto EXIT REM Generate dex files with compiled Java classes call %ANDROID_DX% --output="%CD%\bin\classes.dex" %CD%\bin || goto EXIT REM Recources file need to be copied. This is needed for signing. copy "%CD%\bin\resources.ap_" "%CD%\bin\%APP_NAME%.ap_" || goto EXIT REM Add generated classes.dex file into application package call %ANDROID_AAPT_ADD% "%CD%\bin\%APP_NAME%.ap_" "%CD%\bin\classes.dex" || goto EXIT REM Create signed Android application from *.ap_ file. Output and Input files must be different. call "%JAVABIN%\jarsigner" -keystore "%CD%\keystore\my-release-key.keystore" -storepass "password" -keypass "password" -signedjar "%CD%\bin\%APP_NAME%.apk" "%CD%\bin\%APP_NAME%.ap_" "alias_name" || goto EXIT REM Delete temp file del "bin\%APP_NAME%.ap_" :EXIT cd "%PREV_PATH%" ENDLOCAL exit /b %ERRORLEVEL% ``` i got this codes from a site. (http://www.apriorit.com/our-company/dev-blog/233-how-to-build-apk-file-from-command-line) i downloaded the source code sample and opened the batch file in there but it didn't generate it's apk file. usually the apk file is located at its bin\ right? but when i opened the folder, the file is not in there. please help me how to use this one. i'd appreciate you help.