как создать .apk файл без использования Eclipse - PullRequest
2 голосов
/ 14 февраля 2012

Я хочу создать «Theme Creator» для Android, поэтому я хочу создать файл .apk после создания темы. Кто-нибудь может направить меня, как действовать? Любая помощь в этом отношении будет принята с благодарностью.

Ответы [ 2 ]

3 голосов
/ 14 февраля 2012

Лучший способ создать .apk без затмения или без какой-либо другой среды IDE - использовать maven с этим аккуратным плагином: Maven-Android-Plugin .Он активно поддерживается и достаточно хорошо задокументирован.Вы можете начать с образца .

Недостатком этого подхода является то, что нужно изменить процесс сборки, и не все грязные мелкие детали скрыты в IDE.

Достоинства - полный контроль над сборкой, подписью, проверками кода, интеграцией CI и свободным выбором IDE.

2 голосов
/ 14 февраля 2012

В проекте, подготовленном инструментами SDK , вы можете создать .apk с ant debug для запуска.

Вы также можете научиться напрямую использовать инструменты SDK, иавтоматизировать то, что вы узнали с Makefiles или скриптами.Terminal IDE, рыночное приложение, предоставляющее среду разработки на устройстве, обходится без ant, или make, или с более вовлеченными системами сборки, поэтому его примеры проектов поставляются со сценариями, которые напрямую вызывают javac, dx, aapt.Например, один из моих сценариев сборки в этой системе:

set -x
P=net/rapacity/wizardry

rm src/$P/R.java
mkdir -m 770 -p dist || exit
mkdir -m 770 -p build/classes || exit

aapt p -f -M AndroidManifest.xml -F build/resources.res \
     -I ~/system/classes/android.jar -S res/ -J src/$P || exit

cd src
for F in \
         sokoban2/{Maze,TileView,MazeActivity}.java \
         R.java Maze.java EmptyActivity.java {emptyquiet,gadgets,sokoban}/Maze{,Activity}.java \
; do
  echo $F > ~/tmp/.remake
  javac -d ../build/classes $P/$F 2> ~/tmp/javac.out
  ../redcat ~/tmp/javac.out
  grep error ~/tmp/javac.out && exit
done
cd ..

( cd build/classes; dx --dex --verbose --no-strict --output=../core.dex net ) || exit

apkbuilder dist/core.apk -u -z build/resources.res -f build/core.dex || exit
signer dist/core.apk core-debug.apk

Все, что суетится с redcat, javac.out и др., Это прерывать сборку при ошибке (javac бесполезно возвращает 0 независимо от того, чтоуспех), и позволить быстро пересмотреть последнюю попытку компиляции, чтобы увидеть, были ли исправлены ошибки.Муравей, мавен, даже разумное использование make, предоставит этот материал для вас.

...