9

请告诉我如何在不使用 ECLIPSE ide 的情况下构建项目的 apk 文件。我找到了一些关于使用批处理文件的信息,但我不知道如何重新制作它。

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%

我从一个网站得到这个代码。(http://www.apriorit.com/our-company/dev-blog/233-how-to-build-apk-file-from-command-line)

我下载了源代码示例并在其中打开了批处理文件,但它没有生成它的 apk 文件。通常 apk 文件位于其 bin\ 对吗?但是当我打开文件夹时,文件不在那里。请帮助我如何使用这个。我很感激你的帮助。

4

4 回答 4

5

您必须为此使用 Apache ant:

ant debug

这将构建并签署必要的.apk文件。

有关更多信息,请参阅:http ://codeseekah.com/2012/02/09/command-line-android-development-basics/

编辑:

ant 不是标准 Android SDK 设置的一部分。你必须安装它。

从 The Apache Ant Project下载最新的 ant zip 文件。

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

Add c:\ant to your path environment variable

完成这些后,您将能够从命令行运行 ant

于 2012-10-01T05:08:23.490 回答
4

默认情况下,apk 位于 bin 下,这是正确的,但是当您分发源代码时,最好不要添加任何 apk,因为“新鲜”编译的 apk 始终是更好的解决方案。

如果您build.xml在项目的根目录中调用了一个文件,请执行

ant debug

否则,您需要使用构建阶段所需的最少信息更新您的项目

android update project -t android-10 -p .

在这种情况下android-10是您的 apk/app/api 的目标,您可以为目标设备自定义此选项。

在此之后,您将获得您的build.xml一切,并准备好生成 apk。

于 2012-10-01T05:15:43.577 回答
0

我在 Internet 上找到的用于创建 Android APK 的最佳示例之一是https://geosoft.no/development/android.html 。如果您是,您也可以在根目录中使用 assembleDebug 命令(确保将 gradle 设置为环境变量)使用 Gradle。

于 2019-07-22T21:46:03.427 回答
0
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”来启动虚拟设备,因为有很多。

于 2016-08-24T20:44:39.270 回答