- 浏览: 340882 次
- 性别:
- 来自: 安徽
文章分类
最新评论
-
secally:
楼主可以上传个例子吗,谢谢,我咋跑不起来,,eclipse不是 ...
Android自动打包、签名、优化、上传ANT脚本 -
secally:
请问下执行命令是啥,ant release 还是?麻烦指教谢谢 ...
Android自动打包、签名、优化、上传ANT脚本 -
trp1022:
好牛啊
程序员不能不通文史 -
sunny78117:
谢谢,写得好
Android bitmap优化 -
futurebp:
这是什么类型的脚本啊?
Android自动打包、签名、优化、上传ANT脚本
版权所有,欢迎转载,转载请注明 : SinFrancis http://mdev.cc
关于ANT 编译和脚本请查看 : http://sinfrancis.iteye.com/blog/721582
这里使用的是proguard4.4 ,在原有的ANT脚本上加入以下代码:
定义proruard4.4 的home :
<property name="proguard-home" value="D:/eclipsetools/proguard4.4/lib"/>
加入混淆的target配置到build.xml中去:
<!--Execute proguard class flies--> <target name="optimize"> <jar basedir="${outdir-classes}" destfile="temp.jar"/> <java jar="${proguard-home}/proguard.jar" fork="true" failonerror="true"> <jvmarg value="-Dmaximum.inlined.code.length=32"/> <arg value="-injars temp.jar"/> <arg value="-outjars optimized.jar"/> <arg value="-libraryjars ${android-jar}"/> <!-- <arg value="-libraryjars ${external-libs}/*.jar"/>--> <arg value="-dontpreverify"/> <arg value="-dontoptimize"/> <arg value="-dontusemixedcaseclassnames"/> <arg value="-repackageclasses ''"/> <arg value="-allowaccessmodification"/> <!--<arg value="-keep public class ${exclude-activity}"/>--> <!--<arg value="-keep public class ${exclude-provider}"/>--> <arg value="-keep public class * extends android.app.Activity"/> <arg value="-keep public class * extends android.content.ContentProvider"/> <arg value="-keep public class * extends android.view.View"/> <arg value="-keep public class * extends android.preference.Preference"/> <arg value="-optimizationpasses 7"/> <arg value="-verbose"/> <arg value="-dontskipnonpubliclibraryclasses"/> <arg value="-dontskipnonpubliclibraryclassmembers"/> </java> <delete file="temp.jar"/> <delete dir="${outdir-classes}"/> <mkdir dir="${outdir-classes}"/> <unzip src="optimized.jar" dest="${outdir-classes}"/> <delete file="optimized.jar"/> </target>
注意:-keep这个参数是表示哪些类不被混淆,具体查看progurard的文档。这里凡是在xml文件中配置的文件均不可混淆,否则运行时候会找不到类的。
在编译的 target中加入 调用混淆target的命令 :
<antcall target="optimize"/>
这样既可。
如果你使用了xmlpull类库的话,混淆的时候请不要加入到源代码中,android的类库中已经包含了 xmlpull,否则的话混淆是无法成功的,会出现
Warning: library class android.content.res.XmlResourceParser extends or implements program class org.xmlpull
.v1.XmlPullParser
等相关的错误。
评论
4 楼
sinfrancis
2011-03-22
GaoMatrix 写道
您好 我按照您说的做的 有几点不太明白
<antcall target="optimize"/>
这个释放到哪里?编译的 target是指
<!-- Compile this project's .java files into .class files. -->
<target name="compile" depends="dirs, resource-src, aidl">
<javac encoding="ascii" target="1.6" debug="true" extdirs="" srcdir="." destdir="${outdir-classes}" bootclasspath="${android-jar}">
<classpath>
<fileset dir="${external-libs}" includes="*.jar" />
</classpath>
</javac>
</target>
这里面么,<target name="dex" depends="compile">看到网上有说在这里加的
还有就是我运行的时候出现:
类重复: com.xxx.R
[javac] public final class R {
<antcall target="optimize"/>
这个释放到哪里?编译的 target是指
<!-- Compile this project's .java files into .class files. -->
<target name="compile" depends="dirs, resource-src, aidl">
<javac encoding="ascii" target="1.6" debug="true" extdirs="" srcdir="." destdir="${outdir-classes}" bootclasspath="${android-jar}">
<classpath>
<fileset dir="${external-libs}" includes="*.jar" />
</classpath>
</javac>
</target>
这里面么,<target name="dex" depends="compile">看到网上有说在这里加的
还有就是我运行的时候出现:
类重复: com.xxx.R
[javac] public final class R {
建议你使用最新的ANDROID SDK生成build.xml ,会自动帮你混淆,不需要任何的混淆代码了。
3 楼
GaoMatrix
2011-03-20
您好 我按照您说的做的 有几点不太明白
<antcall target="optimize"/>
这个释放到哪里?编译的 target是指
<!-- Compile this project's .java files into .class files. -->
<target name="compile" depends="dirs, resource-src, aidl">
<javac encoding="ascii" target="1.6" debug="true" extdirs="" srcdir="." destdir="${outdir-classes}" bootclasspath="${android-jar}">
<classpath>
<fileset dir="${external-libs}" includes="*.jar" />
</classpath>
</javac>
</target>
这里面么,<target name="dex" depends="compile">看到网上有说在这里加的
还有就是我运行的时候出现:
类重复: com.xxx.R
[javac] public final class R {
<antcall target="optimize"/>
这个释放到哪里?编译的 target是指
<!-- Compile this project's .java files into .class files. -->
<target name="compile" depends="dirs, resource-src, aidl">
<javac encoding="ascii" target="1.6" debug="true" extdirs="" srcdir="." destdir="${outdir-classes}" bootclasspath="${android-jar}">
<classpath>
<fileset dir="${external-libs}" includes="*.jar" />
</classpath>
</javac>
</target>
这里面么,<target name="dex" depends="compile">看到网上有说在这里加的
还有就是我运行的时候出现:
类重复: com.xxx.R
[javac] public final class R {
2 楼
hemowolf
2010-12-28
没成功过。留个记号
1 楼
wxw404
2010-10-24
想混淆一下code 可发现adt 没这功能
还得用ant
看到兄弟的帖子 学习了
还得用ant
看到兄弟的帖子 学习了
发表评论
-
抓取Android WebView截屏
2011-08-19 21:33 7662一般使用setDrawingCacheEnabled(true ... -
Android bitmap优化
2011-08-11 17:02 5985直接使用ImageView显示 ... -
Android模拟器更改分辨率后 无法取得分辨率问题
2011-05-11 21:06 2858在PC上更改模拟器分辨率为480*800 (如果你的PC界面 ... -
获取屏幕硬件分辨率方法 收藏
2011-05-11 16:28 1917TextView tv=(TextVie ... -
Bytecode for the Dalvik VM
2011-05-10 22:35 1366http://www.netmite.com/android/ ... -
Android DEX反编译后部分代码解析
2011-05-10 22:07 3944一个private 方法 private Stri ... -
反编译并且修改Android APK包
2011-05-10 16:57 3132為了某個實驗的動機,我們評估反編譯 Android ... -
自定义Ant Task
2010-09-13 17:58 2998版权所有,欢迎转载,转载请注明 : SinFrancis h ... -
Android自动打包、签名、优化、上传ANT脚本
2010-07-26 16:51 13989版权所有,欢迎转载,转载请注明 : SinFrancis h ... -
Android自定义含有CheckBox的Adapter遇到的问题
2010-06-23 13:48 4126版权所有,欢迎转载,转载请注明 : SinFrancis h ... -
QR code类库
2010-06-03 23:11 2333Google code发现的好东西。 QR code 类库 ... -
Android QQ,一个WEBOS APP诞生!!(两个QQ对比!)
2010-04-10 12:05 1880请看这个大哥的言论 http://linuxtoy.or ... -
Android 、BlackBerry 文本对齐方式对比
2010-02-22 13:11 1811版权所有,欢迎转载,转载请注明 : SinFrancis h ... -
教你如何开关Android的APN网络
2010-01-08 11:36 6054版权所有,转载请注明来自Mobile Developer (h ... -
史上最强NDK入门项目实战
2009-10-10 13:29 2690以下内容Sinfrancis版权所有,专注请注明来自 htt ... -
使用TimerTask控制ProgressBar
2009-10-10 13:21 1116以下内容Sinfrancis版权所有,专注请注明来自 htt ... -
自定义List布局
2009-10-10 13:19 1921以下内容Sinfrancis版权所有,专注请注明来自 htt ... -
重画Progressbar的进度
2009-10-10 13:15 1943以下内容Sinfrancis版权所有,专注请注明来自 htt ... -
谈谈Android中文短信的实现
2009-10-10 13:13 2183似 乎Google在推出G1时 ... -
模拟器互发短信
2009-10-10 13:11 1294以下内容Sinfrancis版权所有,专注请注明来自 htt ...
相关推荐
本文将深入探讨“android2.3 eclipse ant混淆”这一主题,结合标签“源码”和“工具”,我们将关注如何在Android 2.3版本中,使用Eclipse集成开发环境以及Ant构建工具进行Proguard混淆。 首先,让我们了解混淆的...
在Android开发过程中,为了提高应用的安全性和优化代码,开发者通常会使用ProGuard工具进行代码混淆。而当需要针对多个渠道(如不同的应用市场)进行打包时,手动操作不仅繁琐且容易出错。这时,我们可以利用Ant构建...
在Android开发中,为了保护应用的安全性和优化代码,开发者通常会使用ProGuard工具进行混淆编译。本篇文章将聚焦于如何在Eclipse和IntelliJ IDEA(Idea)这两个不同的集成开发环境中配置并使用ProGuard,以实现对Ant...
在Android应用开发中,构建多渠道包和进行代码混淆及签名是重要的步骤,尤其是在发布阶段。`Ant`是一个开源的Java构建工具,它允许开发者通过XML配置文件来编译、测试和打包应用。在这个场景中,`Ant`被用于创建针对...
在Android开发过程中,Ant是一个非常重要的工具,它是一个开源的Java构建系统,广泛用于自动化编译、测试和部署Java应用程序,包括Android应用。本篇文章将详细介绍如何使用Ant来打包Android应用,以及涉及到的相关...
在Android应用开发中,为了保护代码安全和优化应用程序,我们经常使用ProGuard工具进行混淆、压缩和优化。本文主要探讨如何在NetBeans环境下配置Ant构建系统来实现ProGuard的混淆编译过程。 首先,理解ProGuard是...
在Android开发过程中,为了保护应用源代码的安全,开发者通常会使用混淆工具对APK进行混淆,使得逆向工程变得困难。在本场景中,我们关注的是使用Apache Ant自动化构建工具进行混淆打包的过程。Ant是一个基于Java的...
本篇将详细讲解"android ant test",即如何使用Ant进行Android应用的构建与测试。 Ant是一个由Apache基金会维护的Java构建工具,它基于XML来定义构建过程。在Android项目中,通过Ant脚本,我们可以执行编译、打包...
本资源将详细介绍如何使用Ant进行批量多渠道打包Android应用。 首先,你需要在你的项目中集成Ant。这通常意味着在项目根目录下创建一个名为`build.xml`的Ant构建文件。这个文件是Ant的配置中心,它定义了构建过程中...
本示例将详细介绍如何在Android项目中利用Ant进行自动构建。 首先,我们需要理解Ant的基本概念。Ant是一个基于Java的任务驱动的构建系统,它的核心是build.xml文件,这个文件包含了构建项目的各种任务和规则。在...
Ant是Android的一种构建工具,它可以自动化编译、测试和打包过程,使得多渠道打包变得更为高效。下面将详细介绍如何使用Ant进行Android的多渠道打包,以及涉及到的相关知识点。 首先,理解Ant。Apache Ant是一种...
在Android中,通常使用ProGuard工具进行混淆。首先,确保你使用的是最新版本的Ant(至少1.8以上),并且更新了`android-sdk-tool`,包含所需的SDK工具和平台。运行`android update project -p (path) -t (sdk id)`...
在Android中,`Ant`用于生成APK文件,包括编译源码、资源处理、签名和优化等步骤。 1. **基本结构** - `build.xml`: 这是`Ant`构建脚本的核心文件,包含了所有构建任务的定义。在`Android`项目中,通常会有一个...
在Android应用程序开发过程中,为了提高代码的安全性和优化应用性能,开发者通常会使用混淆工具对代码进行混淆。Proguard是一款强大的Java字节码混淆器、优化器和裁剪器,它可以有效地减小APK的大小,保护源代码免受...
在Android开发过程中,自动化构建工具如Ant被广泛用于编译、打包和发布应用程序。本教程将详细介绍如何使用Ant来发布Android应用到手机上,包括设置环境、编写build.xml脚本以及执行编译和安装的过程。 首先,我们...
Android 代码混淆是指对 Android 应用程序的源代码进行混淆处理,以防止别人反编译和盗取源代码。代码混淆可以使得反编译变得困难,但是不能完全阻止反编译。 Android 代码混淆可以通过两种方式实现,一种是直接...
在Android开发中,Ant是一个非常重要的工具,它是一个开源的构建工具,可以帮助开发者自动化构建、编译和测试项目。在Android项目中,Ant通常用于替代Eclipse或Android Studio的Gradle构建系统,尤其是在早期版本的...
- 签名与优化:如果需要发布,Ant还需要对APK进行签名和优化,确保其能在Android设备上安装和运行。 6. **使用博客资源** - 提供的博客地址(http://blog.csdn.net/javazejian)可能包含了更详细的步骤和示例,...
使用Ant编译时,需要确保Library项目的输出被正确地链接到Project中。在`build.xml`中,可以通过`import`任务引入其他项目的构建脚本,并在Project的构建任务中引用Library的输出。 4. 多渠道打包 多渠道打包是指...
7. **ProGuard**:Ant还可以配合ProGuard进行代码混淆,以提高应用的安全性,减少代码被逆向工程的可能性。 8. **多版本构建**:通过Ant,可以方便地为不同的设备配置生成多个APK,例如针对不同API级别或硬件特性的...