使用ant自动化编译、签名、代码混淆Android项目

前提是已经搭建好ant执行环境。


0、查看target id。

android list targets


1、对已有的项目,创建ant编译需要的文件build.xml等。(-t就表示从0步骤选取的id)

android update project -p . -t 4


2、可根据提示,修改build.xml的项目名称。


3、添加对签名的支持,新增文件ant.properties,加入签名信息。(旧的ant版本,可能使用build.properties)

key.store=./config/xxx.keystore

key.alias=xxx

key.store.password=xxx
key.alias.password=xxx


4、执行ant release命令,即可在bin目录生成xxx-release.apk的安装包。


5、DONE.


        代码混淆办法:在project.properties文件,增加,

        proguard.config=proguard.cfg

        注:1、如某些代码不允许混淆,需修改proguard.cfg文件,例如:-keep class com.baidu.mapapi.** {*;}

                2、编译release时,不要设置AndroidManifest.xml文件的不要设置application节点的android:debuggable属性为true。最好不要设置该属性。

source.dir=src;../weather/src         

                3、若项目引用了外部代码目录,会引起自动编译出错。解决办法是:在ant.properties,添加一行:source.dir=src;../abc/src

                4、有可能编译出来的包,由于在java使用了中文,引起的乱码,可能的原因是ant编译的字符集与项目java文件使用的java文件不一致造成的。由于ant使用的是UTF-8,项目使用的是GBK,所以我使用的解决办法是:首先把src目录gbk编码的java文件改成utf-8编码(参考http://blog.csdn.net/lizhongkan/article/details/7684156),之后更好eclipse项目属性的字符集为utf-8。之后重新ant clean和ant release,就OK了。

你可能感兴趣的:(Android)