700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > android工程利用ant antenna和proguard预编译混淆打包的方法

android工程利用ant antenna和proguard预编译混淆打包的方法

时间:2024-04-01 07:04:29

相关推荐

android工程利用ant antenna和proguard预编译混淆打包的方法

闲来无事,开博第一篇,讲一下混淆打包的心得(高手请绕道)。

先申明:以下方案使用于windows系统,linux下要稍作调整,我不累述。

不废话,直接开始

一、准备工作

1、jdk1.6(这个最保险,之前用过8有问题,不知道现在如何)。

2、wtk2.5.2,我用这个,比较保险(预编译用,下载地址:/technetwork/java/javasebusiness/downloads/java-archive-downloads-javame-419430.html#sun_java_wireless_toolkit-2.5.2_01b-oth-JPR)

3、proguard4.5,已经更新了好几个版本了,不过好用就不换了(下载地址:/)。

4、ant工具,一般eclipse中自带(若没有,下载地址:/bindownload.cgi,为了方便记得配置环境变量)。

5、antenna,女神你懂得~~,(下载地址:/projects/antenna/)。

以上地址如果无法下载请自己上度娘

二、配置工作

新建build.env文件 (表示环境配置,我电脑配置如下,各位对号入座就行)。

# build environment, setup according to your computer

jdk.home=C:/Java/jdk1.6.0_10

jdk.bin=${jdk.home}/bin

wtk.home=C:/JavaME_SDK_CLDC/WTK2

android.sdk.home=C:/android_sdk/sdk

android.tools=${android.sdk.home}/tools

android.build-tools=${android.sdk.home}/build-tools/android-4.4.2

android.platform-tools=${android.sdk.home}/platform-tools

android.platform.home=${android.sdk.home}/platforms/${target}

android.version=2.0

proguard.home=D:/proguard4.5

proguard.jar=${proguard.home}/lib/proguard.jar

antenna.lib=d:/antenna-bin-1.2.1-beta.jar

特别提示一下

android.platform.home=${android.sdk.home}/platforms/${target}

以上配置中的target为android的api版本,比如android2.1为android-7,android4.3为android-18

新建build.property文件 (和工程相关的配置,各不相同,按照自己的工程目录配置)

# project properties

build.src.main=src/main

build.src.test=src/test/java

build.src.encoding=UTF-8

build.version.name=1.0.0.0

新建config-default.properties文件 (代码中需要预编译变量常量的默认值)

# default build config, can be overrided by defining new build target in build.xml

sdk.debug.level=none

sdk.channelid=tecent

sdk.author=vailen

sdk.jarname.main=CsdnSdk${build.version.name}.jar

project.properties

这个文件应该是创建android工程的时候自动生成的,内如如下:

# This file is automatically generated by Android Tools.

# Do not modify this file -- YOUR CHANGES WILL BE ERASED!

#

# This file must be checked in Version Control Systems.

#

# To customize properties used by the Ant build system use,

# "ant.properties", and override values to adapt the script to your

# project structure.

# Project target.

target=android-7

该配置中的target就是之前build.env文件中${target}的取值。

三、脚本编写

新建build.xml文件,编写ant相关代码,这边贴出我电脑上的例子

<?xml version="1.0" encoding="UTF-8"?>

<project name="your project name" basedir="../">

<target name="prj.define" description="系统变量定义">

<echo message="Project Define variables" />

<property name="build-dir" value="build" />

<!-- load build config -->

<property file="project.properties" />

<property file="${build-dir}/build.env" />

<property file="${build-dir}/build.properties" />

<property file="${build-dir}/config-default.properties" />

<echo>building ver:${build.version.name},timestamp:${build.version.timestamp}</echo>

<!-- load antenna task def -->

<taskdef resource="antenna.properties">

<classpath location="${antenna.lib}" />

</taskdef>

<!-- Android Environment -->

<property name="android-jar" value="${android.platform.home}/android.jar" />

<property name="android-framework" value="${android.platform.home}/framework.aidl" />

<property name="library-jar" value="libs" />

<!-- project directory definitions -->

<property name="resource-dir" value="res" />

<property name="asset-dir" value="assets" />

<property name="external-libs" value="libs" />

<property name="outdir" value="${build-dir}/output" />

<property name="outdir-src" value="${outdir}/src" />

<property name="outdir-preprocess" value="${outdir}/preprocess" />

<property name="outdir-classes" value="${outdir}/classes" />

<property name="outdir-classes-optimized" value="${outdir}/optimized-classes" />

<property name="outdir-main" value="${outdir}/main" />

<property name="outfile-proguardmap" value="${outdir}/CsdnSdk${build.version.name}_proguard.map" />

<condition property="srcdi

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。