android开发---使用ant编译android项目

转载 2013年12月03日 10:13:56

http://blog.chinaunix.net/uid-26009923-id-3430864.html

 

eclipse太难用了,幸好android支持ant来编译工程,纯手工打造,下面以hello-jni为例来试验一下。

  1. sun@ubuntu:/tmp/project/hello-jni$ ls
  2. AndroidManifest.xml default.properties jni res src tests
  3. sun@ubuntu:/tmp/project/hello-jni$ android list target  ;列出支持的target
    Available Android targets:
    ----------
    id: 1 or "android-11"
         Name: Android 3.0
         Type: Platform
         API level: 11
         Revision: 2
         Skins: WXGA (default)
         ABIs : armeabi
    ----------
    id: 2 or "Google Inc.:Google APIs:11"
         Name: Google APIs
         Type: Add-On
         Vendor: Google Inc.
         Revision: 1
         Description: Android + Google APIs
         Based on Android 3.0 (API level 11)
         Libraries:
          * com.google.android.maps (maps.jar)
              API for Google Maps
         Skins: WXGA (default)
         ABIs : armeabi

  4. sun@ubuntu:/tmp/project/hello-jni$ android update project -p . -t android-11
  5. Updated and renamed default.properties to project.properties
  6. Updated local.properties
  7. No project name specified, using Activity name 'HelloJni'.
  8. If you wish to change it, edit the first line of build.xml.
  9. Added file ./build.xml
  10. Added file ./proguard-project.txt
  11. It seems that there are sub-projects. If you want to update them
  12. please use the --subprojects parameter.
  13. sun@ubuntu:/tmp/project/hello-jni$ ant debug
  14. Buildfile: /tmp/project/hello-jni/build.xml
  15. BUILD SUCCESSFUL
  16. Total time: 4 seconds

1. 只需要两步就搞定了,不过这个是没有签名的。 说明: 
a. android update project -p <project> -t <target>
    -t 后的参数<target> 可以用 android list target查看
   执行后会生成build.xml
b. 用 ant debug -->编译工具自动签名debug key和使用zipalign优化打包
   用 ant release -->需要自己签名和优化
2. 进行手动签名

  1. sun@ubuntu:/tmp/project/hello-jni$ keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000
  2. Enter keystore password: 
  3. Re-enter new password: 
  4. What is your first and last name?
  5.   [Unknown]: name
  6. What is the name of your organizational unit?
  7.   [Unknown]: unit
  8. What is the name of your organization?
  9.   [Unknown]: org
  10. What is the name of your City or Locality?
  11.   [Unknown]: ciyt
  12. What is the name of your State or Province?
  13.   [Unknown]: state
  14. What is the two-letter country code for this unit?
  15.   [Unknown]: 123
  16. Is CN=name, OU=unit, O=org, L=ciyt, ST=state, C=123 correct?
  17.   [no]: yes

  18. Generating 2,048 bit RSA key pair and self-signed certificate (SHA1withRSA) with a validity of 10,000 days
  19.     for: CN=name, OU=unit, O=org, L=ciyt, ST=state, C=123
  20. Enter key password for <alias_name>
  21.     (RETURN if same as keystore password): 
  22. [Storing my-release-key.keystore]
  23. sun@ubuntu:/tmp/project/hello-jni$ jarsigner -verbose -sigalg MD5withRSA -digestalg SHA1 -keystore my-release-key.keystore ./bin/HelloJni-release-unsigned.apk  alias_name
    Enter Passphrase for keystore: 
       adding: META-INF/MANIFEST.MF
       adding: META-INF/ALIAS_NA.SF
       adding: META-INF/ALIAS_NA.RSA
      signing: AndroidManifest.xml
      signing: resources.arsc
      signing: classes.dex
    sun@ubuntu:/tmp/project/hello-jni$ adb install ./bin/HelloJni-release-unsigned.apk
    87 KB/s (4877 bytes in 0.054s)
        pkg: /data/local/tmp/HelloJni-release-unsigned.apk
    Success

3. 自动签名,这项技术我还没有掌握
[参]http://www.2cto.com/kf/201207/139909.html

Windows下,Ant自动化编译Android项目具体步骤和方法

 备注:若Android项目引用有第三方库,步骤和方法亦适用。    前提是已经安装好Ant。 1,首先需要创建一个批处理命令(*.bat)文件:Ant for And...
  • zhangphil
  • zhangphil
  • 2015年02月11日 16:13
  • 1039

使用Ant编译Android工程(Linux系统)

一、问题 同一套Android代码,希望通过配置文件的形式,制作成不同包名的多个package(多包名,多版本号,多市场logo,多广告商)。 二、解决方法 使用Ant编译 三、Ant安装和使...
  • xieyan0811
  • xieyan0811
  • 2012年03月27日 19:16
  • 3745

通过ant脚本编译打包android工程

Android程序编译、打包、签名、发布的三种方式: 方式一:命令行手动编译打包 方式二:使用ant自动编译打包 方式三:使用eclipse+ADT编译打包 这里介绍打包的方式之一:通过ant...
  • Sky_Monkey
  • Sky_Monkey
  • 2013年09月21日 22:59
  • 10152

Android多个依赖项目Ant编译命令

在实际开发当中,开发app经常会使用一些依赖的项目,最基本的如android提供的support-v7-appcompat, design等。那在自动化编译中如何很简单的进行配置呢?这里记录一下我是怎...
  • pcsxk
  • pcsxk
  • 2015年10月30日 17:09
  • 904

eclipse中构建ant项目和编译运行ant

1、用 Ant 来构建简单系统 新建一个 Java project, 命名为 ant_project 图 1. 新建 ant_project 项目 然后新建一个 HelloWorld 类,我们...
  • qing419925094
  • qing419925094
  • 2015年01月21日 14:28
  • 6711

android_ant_library 多个library编译

目录初始化.... 生成R.java文件.....
  • ygc973797893
  • ygc973797893
  • 2015年11月06日 16:41
  • 1136

使用ant编译发布web项目

本文就不对ant进行详细介绍,直接对一个实际项目的自动构建和部署等进行说明。build.xml 内容主要分为2部分:项目编译库的配置 和 项目自动构建部署的编写1、配置项目编译库classpath ...
  • catoop
  • catoop
  • 2015年08月05日 15:29
  • 5132

使用Ant编译Android

(转载请注明出处:http://blog.sina.com.cn/u/1429359895) 使用Ant编译Android应用程序很方便,在Window和Linux下均可使用。尤其是将一个软...
  • xieyan0811
  • xieyan0811
  • 2014年09月05日 12:15
  • 4450

用Ant实现Java项目的自动构建和部署/Eclipse下使用Ant

转载处:http://www.blogjava.net/amigoxie/archive/2007/11/09/159413.html
  • qq_17438907
  • qq_17438907
  • 2014年12月26日 18:06
  • 923

ant手动编译apk,其中包括第三方Library和so文件

现在有这么个需求,要手动编译apk,不用eclipse集成工具,用命令行直接编译。一开始直接拼凑命令行,后来发现命令行编译apk无法包含第三方Library和so库,很恶心啊。 调研了一下,用ant或...
  • jbb0403
  • jbb0403
  • 2015年04月28日 10:32
  • 1560
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:android开发---使用ant编译android项目
举报原因:
原因补充:

(最多只允许输入30个字)