Android开发之使用Ant命令行编译和APK签名

    xiaoxiao2026-03-11  12

    最近在做Android开发时,需要引用第三方的代码进项目,一般情况下,直接在Eclipse下设置需要导入的代码的编译输出为library即可,但是很多代码在Eclipse下编译会出现很多莫名其妙的错误。因而只能使用命令行方式对代码进行编译。具体方法如下: 1.安装编译用的Java,安装Android Platform-tools,安装Ant,设置好各种环境变量。部分Linux下Ant已经默认集成,Windows下需要自行安装。 2.使用Android工具更新代码的编译配置。 3.使用Ant工具进行编译,可编译Debug版和Release版本。 4.生成代码签名用的私钥,并对APK进行签名。 5.对APK文件进行对齐,对大文件APK有不错的效果。 以下是参考Bash代码,可自己需要更改,执行时,sudo bash XXX.sh即可 # Setup Java HomeJAVA_HOME = "/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home"# Setup android HomeANDROID_HOME="~/android-sdk-macosx"# Setup pathPATH = "$ANDROID_HOME/tools:$JAVA_HOME/bin:$PATH"# Update current projectandroid update project --path .#android update project --path ./Library/lib1#android update project --path ./Library/lib2# Remove keystorerm -f product.keystore# Make keystonekeytool -genkey -alias product.keystore -keyalg RSA -validity 40000 \-keystore product.keystore -storepass password -keypass password \-dname "CN=Product OU=Android Team O=Organization L=Hongkong ST=Hongkong C=China"# Cleanant clean# Remove ant.propertiesrm -f ant.properties# Make ant.propertiesecho "key.store=product.keystore" > ant.propertiesecho "key.alias=product.keystore" >> ant.properties# Build apkant release# Sign APK# jarsigner -verbose -keystore product.keystore -signedjar \# bin/product_signed.apk bin/product-release-unsigned.apk product.keystore# Zip align apk# zipalign -v 4 bin/product_signed.apk bin/product_final.apk 说明: 更新Android的ant编译配置,如果代码的结构发生变更,请执行,如果代码中包含引用的第三方库代码,需要分别对这些代码进行更新。 # Update current projectandroid update project --path .#android update project --path ./Library/lib1#android update project --path ./Library/lib2 生成签名用的Keystore文件,几个参数的说明 -genkey 生成秘钥证书 -alias 别名 -keyalg 秘钥的计算算法 -validity 有效期 -keystore 秘钥库文件路径 -storepass 秘钥库密码 -keypass 秘钥证书密码 -dname 发行者信息 CN= 发行者姓名 (个人姓名或产品名) OU= 组织单元名 (团队名) O= 组织机构名 (公司名) L= 城市/地区 ST= 州/省 C= 国家代码 # Make keystonekeytool -genkey -alias product.keystore -keyalg RSA -validity 40000 \-keystore product.keystore -storepass password -keypass password \-dname "CN=Product OU=Android Team O=Organization L=Hongkong ST=Hongkong C=cn" 生成ant自动编译用的ant.properties文件,设置key.store和key.alias两个变量后,ant release时会自动对生成的APK签名和对齐 echo "key.store=product.keystore" > ant.propertiesecho "key.alias=product.keystore" >> ant.properties 手动对代码签名,几个参数的说明 -verbose 显示输出 -keystore keystore别名 -signedjar 签名apk文件,第一个参数为目标文件,第二个为未签名apk # Sign APKjarsigner -verbose -keystore product.keystore -signedjar bin/product_signed.apk bin/product-release-unsigned.apk product.keystore 手动对APK进行对齐 # Zip align apkzipalign -v 4 bin/product_signed.apk bin/product_final.apk -------------------------------------------------------------------------------------- - 版权声明: - 如在本页面内无特别说明,本文内容均为[李大仁博客]原创,本文版权归[李大仁博客]所有。 - 欢迎转载,转载请务必在文章页面明显位置提供原文链接并注明出处。欢迎您在转载本文时保留本段声明。 - 文章标题: Android开发之使用Ant命令行编译和APK签名 - 独立博客: 李大仁博客 - 永久链接:http://www.lidaren.com/archives/905 -------------------------------------------------------------------------------------- 以上内容由博客自动发布工具自动发布,最终显示内容和效果会与原文内容有所偏差,敬请谅解。
    转载请注明原文地址: https://ju.6miu.com/read-1307856.html
    最新回复(0)