как создать файл apk с помощью командной строки?

пожалуйста, скажите мне, как построить apk-файлы проекта без использования Eclipse ide. я нашел информацию об использовании пакетного файла, но я не знаю, как его переделать.

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%toolsaapt.exe" add

REM Define aapt pack and generate resources command
SET ANDROID_AAPT_PACK="%ANDROID-SDK%platforms%ANDROID_REV%toolsaapt.exe" package -v -f -I "%ANDROID-SDK%platforms%ANDROID_REV%android.jar"

REM Define class file generator command
SET ANDROID_DX="%ANDROID-SDK%platform-toolsdx.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 "binresources.ap_" || goto EXIT

REM Compile sources. All *.class files will be put into the bin folder
call %JAVAC_BUILD% srcorgsecuresms*.java || goto EXIT

REM Generate dex files with compiled Java classes
call %ANDROID_DX% --output="%CD%binclasses.dex" %CD%bin || goto EXIT

REM Recources file need to be copied. This is needed for signing.
copy "%CD%binresources.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%binclasses.dex" || goto EXIT

REM Create signed Android application from *.ap_ file. Output and Input files must be different.
call "%JAVABIN%jarsigner" -keystore "%CD%keystoremy-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%

Я получил эти коды с сайта. (http://www.apriorit.com/our-company/dev-blog/233-how-to-build-apk-file-from-command-line)

Я загрузил образец исходного кода и открыл там пакетный файл, но он не генерировал его apk-файл. обычно файл apk находится в своей ячейке правильно? но когда я открыл папку, файла там не было. пожалуйста, помогите мне, как использовать это. я был бы признателен вам за помощь.

3 ответов


apk по умолчанию находится под bin, и это правильно, но когда вы распространяете исходный код, лучше не добавлять apk, потому что "свежий" скомпилированный apk всегда является лучшим решением.

если у вас есть файл под названием build.xml в корне вашего проекта просто сделать

ant debug

в противном случае вам нужно обновить свой проект с минимальной информацией, необходимой для фазы строительства с

android update project -t android-10 -p .

в этом случае android-10 - мишень для apk / app / api, и вы можете настроить эту опцию для вашего целевого устройства.

после этого вы получите ваш build.xml и все на месте создания АПК.


У вас должен быть Apache ant для этого:

ant debug

Это будет строить и подписывать необходимые .apk файлы.

для получения дополнительной информации см. Это:http://codeseekah.com/2012/02/09/command-line-android-development-basics/

EDIT:

ant не является частью стандартной установки Android SDK. Вам придется установить его.

загрузите последний zip-файл ant из Apache Ant Проект.

Extract the zip file to a folder, say c:\ant\ 

Add c:\ant to your path environment variable

как только это будет сделано, вы сможете запустить ant из командной строки


ant debug install

фактически жизнеспособен, если вы создаете проект с (обратите внимание, что вы должны указать виртуальное устройство с помощью команды "adb-s" при установке, если вы используете несколько устройств)

android create project -n <project_name>
        -t <target_version> -p <path> -k <package> -a <activity>

и используйте эту команду для запуска на avd (если вы запустили один)

adb -e shell "am start -a android.intent.action.MAIN -n com.your.package/.YourActivity"

(измените параметр-e на-d, Если вы работаете на устройствах)

ссылка

лучше использовать " AVD Manager.exe " для запуска виртуального устройства, если вы не знаете эти команды или параметры, так как их довольно много.