`
liuxin-smallmouse
  • 浏览: 18997 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Windows中使用命令行方式编译打包Android项目

阅读更多
  网上很多用Ant来编译打包Android应用的文章,毕竟Ant是纯Java语言编写的,具有很好的跨平台性。今天想写个纯windows平台下的DOS命令行方式编译Android项目的bat文件,见以下代码:
echo off
rem =========基本参数配置============
rem jdk的路径
set JAVA_HOME=D:/Program Files/Java/jdk1.6.0_24
rem jdk的版本
set JDK_Version=1.6
rem sdk的路径
set AndroidHome=D:/Android/android-sdk-windows
rem 编译的android版本路径
set AndroidVersion=/platforms/android-8
rem 编译的android项目路径
set AndroidProject=D:/yourProject
rem 编译生成的未签名apk文件
set unsign_apk=yourProject.apk
rem 编译生成的已签名apk文件
set sign_apk=yourProject-sign.apk
rem 签名用的key
set apk_key=keyname
set apk_keypass=keypass
set apk_keystore=D:/yourProject/key.keystore

for %%x in ("%AndroidProject%") do set AndroidProject=%%~sx
for %%x in ("%JAVA_HOME%") do set JAVA_HOME=%%~sx
for %%x in ("%AndroidHome%") do set AndroidHome=%%~sx
rem jdk工具包
set EXE_JAVA=%JAVA_HOME%/bin/java
set JAVAC=%JAVA_HOME%/bin/javac
set JAR=%JAVA_HOME%/bin/jar
set KeyTool=%JAVA_HOME%/bin/keytool
set Jarsigner=%JAVA_HOME%/bin/jarsigner
rem sdk工具包
set AndroidAAPT=%AndroidHome%%AndroidVersion%/tools/aapt.exe
set AndroidDx=%AndroidHome%%AndroidVersion%/tools/dx.bat
set AndroidApkBuilder=%AndroidHome%/tools/apkbuilder.bat
set AndroidJar=%AndroidHome%%AndroidVersion%/android.jar
rem android项目引用的扩展jar包
set ExternerJar=%AndroidProject%/lib/commons-codec.jar;%AndroidProject%/lib/commons-httpclient-3.1.jar;
set ReferJar=%AndroidProject%/lib/commons-codec.jar %AndroidProject%/lib/commons-httpclient-3.1.jar
rem android项目基本目录及配置文件
set AndroidProjectRes=%AndroidProject%/res
set AndroidProjectGen=%AndroidProject%/gen
set AndroidProjectBin=%AndroidProject%/bin
set AndroidProjectAsset=%AndroidProject%/assets
set AndroidProjectAndroidMainfest=%AndroidProject%/AndroidManifest.xml
set AndroidProjectSrc=%AndroidProject%/src/weibo/*.java
set AndroidProjectSrc=%AndroidProjectSrc% %AndroidProject%/src/weibo/http/*.java
set AndroidProjectSrc=%AndroidProjectSrc% %AndroidProject%/src/weibo/util/*.java
set AndroidProjectSrc=%AndroidProjectSrc% %AndroidProject%/gen/yourProjectPackageName/*.java
rem 编译输出文件
set AndroidProjectClassDex=%AndroidProject%/bin/classes.dex
set AndroidProjectResources=%AndroidProject%/bin/resources.ap_
set AndroidProjectApk="%AndroidProject%/bin/%unsign_apk%"
set AndroidProjectSignApk="%AndroidProject%/bin/%sign_apk%"

echo 生成R.java
%AndroidAAPT% package -f -m -J %AndroidProjectGen% -S %AndroidProjectRes% -I %AndroidJar% -M %AndroidProjectAndroidMainfest%

echo 生成class
%JAVAC% -encoding UTF-8 -target %JDK_Version% -bootclasspath %AndroidJar% -classpath %ExternerJar% -d %AndroidProjectBin% %AndroidProjectSrc%

echo 生成dex
cd %AndroidProjectBin%
rem 把bin目录下*.class文件打成jar包
%JAR% cvf %AndroidProjectBin%/yourProject.jar *.*
cd %AndroidProject%
rem 生成dex  这里需要注意,因为调用的是bat的脚本,因此必须用Call
call %AndroidDx% --dex --output=%AndroidProjectClassDex% %AndroidProjectBin%/yourProject.jar %ReferJar%

echo 打包资源文件
%AndroidAAPT% package -f -M %AndroidProjectAndroidMainfest% -S %AndroidProjectRes% -A %AndroidProjectAsset% -I %AndroidJar% -F %AndroidProjectResources%

echo 生成未签名的apk文件
call %AndroidApkBuilder% %AndroidProjectApk% -v -u -z %AndroidProjectResources% -f %AndroidProjectClassDex% -rf %AndroidProject%/src

echo 生成数字签名key.keystore
%KeyTool% -genkey -v -keystore %apk_keystore% -storepass %apk_keypass% -keypass %apk_keypass% -alias myKey -dname CN=Liux,OU=makingware.com,O=makingware,L=sz,ST=gd,C=cn -keyalg RSA -validity 10000 

echo 进行数字签名
%Jarsigner% -verbose -keystore %apk_keystore% -keypass %apk_keypass% -storepass %apk_keypass% -signedjar %AndroidProjectSignApk% %AndroidProjectApk% myKey

echo 签名成功
pause


转载:http://my.oschina.net/liux/blog/37875
分享到:
评论

相关推荐

    Android Apk命令行编译签名打包大全

    在Android开发过程中,掌握命令行编译、签名和打包APK的方法是十分必要的。下面将详细介绍这个过程: 1. **生成R.java文件** R.java文件是Android编译系统自动生成的,它包含了应用程序资源的ID。使用aapt工具可以...

    使用Python脚本线上打包Android项目apk.zip

    使用Python脚本线上打包Android项目apk.zip Usage 1.环境准备:配置好python(2.x或3.x)、gradle环境 2.将auto.py 和 auto.config 文件放在同一级目录下。 3.然后配置auto.config文件: Root_SDK_Dir 是你的SDK的...

    命令行创建Android项目

    在Android开发中,有时我们需要脱离集成开发环境(IDE),如Eclipse或Android Studio,通过命令行来创建和管理项目。这样做能让我们更深入地理解构建过程,并有助于自动化工作流程。以下详细介绍了通过命令行创建...

    mac下ant打包android

    在Android开发中,Ant可以用来编译、签名和打包APK。当你要为不同的渠道(如不同的应用商店)打包应用时,通常需要修改build.xml文件,添加相应的渠道参数。例如,你可能需要在apk的资源目录下创建一个渠道特定的...

    在Linux下通过命令行打包Android应用的方法

    在 Linux 环境下,使用命令行打包 Android 应用程序是一种常见的操作。本文将详细介绍在 Linux 下通过命令行打包 Android 应用程序的方法。 首先,需要安装 Ubuntu 16.04操作系统、sdk tools for linux 和 Java 8。...

    Unity在Windows全自动打包Android的apk.docx

    总结来说,Unity在Windows上全自动打包Android APK涉及的主要技术包括:使用批处理脚本进行流程控制,通过Unity的命令行接口执行构建操作,以及利用SVN的命令行工具进行版本控制。理解并熟练掌握这些工具和技巧,...

    使用Python线上打包Android项目apk.zip

    标题中的“使用Python线上打包Android项目apk.zip”表明我们要探讨的是如何使用Python脚本来自动化构建Android应用程序(APK)的过程。在Android开发中,APK是应用的可分发格式,用户通常通过安装APK来运行Android...

    超全Android反编译工具包(图形、命令行、拖拽)

    本篇将详细讲解三种主要的Android反编译方式——图形化、命令行和拖拽,并介绍对应的工具。 一、图形化反编译工具:jd-gui jd-gui是一款直观的Java字节码反编译器,用于查看Android应用中的类文件。它提供了一个...

    使用ant打包android

    总结,使用Ant打包Android应用涉及到了Java和Android开发的基础知识,包括环境配置、构建脚本、编译过程、资源处理、APK打包和签名。虽然现代的Android项目多采用Gradle,但了解Ant可以帮助开发者更好地理解和控制...

    android studio 必备编译打包工具

    这篇我们将深入探讨Android Studio必备的编译打包工具——Gradle及其相关知识。 **Gradle** Gradle是一种基于Groovy语言的开源构建自动化系统,其设计目标是兼顾灵活性和性能。在Android Studio中,Gradle通过灵活...

    windows下android打包工具源码

    这个压缩包文件“tools-code”可能包含了用于在Windows操作系统上编译和打包Android应用的源代码。理解这些工具的工作原理以及如何在Windows上进行操作,对于Android开发者来说是非常有价值的。 首先,Android应用...

    android sdk和javafx打包androidapk示例

    在压缩包中的"javafx打包android的apk"文件可能是一个已经完成上述步骤的示例项目,包括源代码、资源文件和打包后的APK。通过研究这个示例,开发者可以学习如何将JavaFX应用转换为可在Android设备上运行的格式,理解...

    ANDROID_ANT自动编译打包签名教程

    ### ANDROID_ANT自动编译打包签名教程 #### 一、前言 随着移动应用开发的不断深入和技术迭代,为了提高开发效率与版本发布的便捷性,自动化构建工具的应用变得尤为重要。ANT作为一款开源的Java编译工具,在Android...

    Android中使用Ant方式友盟多渠道打包

    下面将详细介绍如何在Android项目中使用Ant来实现友盟多渠道打包。 首先,确保你的系统已经安装了Java Development Kit (JDK) 和 Apache Ant。这两个是构建Android应用所必需的工具。你可以通过命令行运行`java -...

    ffmpeg6.0 android 编译库

    描述中提到“ndk25C编译的android下的ffmpeg6.0”,这指的是使用 Android Native Development Kit (NDK) 版本 25C 进行编译。NDK 是 Google 提供的一套工具,允许开发者使用 C 和 C++ 语言来编写 Android 应用的部分...

    Android反编译工具

    首先,Android反编译工具.exe和Android反编译工具(64位).exe是两个可执行文件,可能是用于在Windows操作系统上运行的反编译软件。这些工具通常能够解析APK文件,将其Java字节码(Dalvik Executable, .dex)转换回源...

    使用ant构建android自动化打包实例源码

    Apache Ant是一个广泛使用的Java构建工具,它允许开发者通过XML配置文件来定义构建任务,如编译、打包、测试等。本实例将详细讲解如何利用Ant来实现Android应用的自动化打包。 1. **Ant简介** - Ant是Apache软件...

    android反编译资源获取

    你可以使用任何文本编辑器打开XML文件查看布局结构,也可以直接复制图片资源到其他项目中使用。 5. **修改与重新打包**: 如果需要修改资源文件,可以直接在解包后的目录中进行,然后使用APKTool重新打包: ``` ...

    Notepad:在命令行中测试编译 Android

    本篇文章将详细讲解如何在命令行中编译一个基于Java的Android项目,以"Notepad"为例,这个项目是Android SDK中的一个示例,位于`sdk\samples\android-8`目录下。 首先,你需要确保已经安装了Android SDK,并且环境...

Global site tag (gtag.js) - Google Analytics