- 浏览: 334996 次
- 性别:
- 来自: 安徽
文章分类
最新评论
-
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 7597一般使用setDrawingCacheEnabled(true ... -
Android bitmap优化
2011-08-11 17:02 5889直接使用ImageView显示 ... -
Android模拟器更改分辨率后 无法取得分辨率问题
2011-05-11 21:06 2792在PC上更改模拟器分辨率为480*800 (如果你的PC界面 ... -
获取屏幕硬件分辨率方法 收藏
2011-05-11 16:28 1881TextView tv=(TextVie ... -
Bytecode for the Dalvik VM
2011-05-10 22:35 1318http://www.netmite.com/android/ ... -
Android DEX反编译后部分代码解析
2011-05-10 22:07 3864一个private 方法 private Stri ... -
反编译并且修改Android APK包
2011-05-10 16:57 3060為了某個實驗的動機,我們評估反編譯 Android ... -
自定义Ant Task
2010-09-13 17:58 2962版权所有,欢迎转载,转载请注明 : SinFrancis h ... -
Android自动打包、签名、优化、上传ANT脚本
2010-07-26 16:51 13932版权所有,欢迎转载,转载请注明 : SinFrancis h ... -
Android自定义含有CheckBox的Adapter遇到的问题
2010-06-23 13:48 4084版权所有,欢迎转载,转载请注明 : SinFrancis h ... -
QR code类库
2010-06-03 23:11 2290Google code发现的好东西。 QR code 类库 ... -
Android QQ,一个WEBOS APP诞生!!(两个QQ对比!)
2010-04-10 12:05 1844请看这个大哥的言论 http://linuxtoy.or ... -
Android 、BlackBerry 文本对齐方式对比
2010-02-22 13:11 1776版权所有,欢迎转载,转载请注明 : SinFrancis h ... -
教你如何开关Android的APN网络
2010-01-08 11:36 5971版权所有,转载请注明来自Mobile Developer (h ... -
史上最强NDK入门项目实战
2009-10-10 13:29 2661以下内容Sinfrancis版权所有,专注请注明来自 htt ... -
使用TimerTask控制ProgressBar
2009-10-10 13:21 1044以下内容Sinfrancis版权所有,专注请注明来自 htt ... -
自定义List布局
2009-10-10 13:19 1856以下内容Sinfrancis版权所有,专注请注明来自 htt ... -
重画Progressbar的进度
2009-10-10 13:15 1908以下内容Sinfrancis版权所有,专注请注明来自 htt ... -
谈谈Android中文短信的实现
2009-10-10 13:13 2143似 乎Google在推出G1时 ... -
模拟器互发短信
2009-10-10 13:11 1256以下内容Sinfrancis版权所有,专注请注明来自 htt ...
相关推荐
因为项目的需要必须写一个ANDROID_ANT自动编译打包签名的脚本,终于奋斗了几天写完了,和大家分享一下
ant脚本编译出jar
Android工程,演示如何使用Ant编译工程。
ant 编译jar包
使用Ant编译打包
Ant编译后的zookeeper源码 版本:zookeeper-release-3.4.11、apache-ant-1.9.14 可直接导入eclipse或idea
Ant编译打包android工程,签名,多渠道
介绍了如何通过ant进行java web工程的编译操作的详细配置
当一个代码项目大了以后,每次重新编译,打包,测试等都会变得非常复杂而且重复,因此c语言中有make脚本来帮助这些工作的批量完成。在Java 中应用是平台无关性的,当然不会用平台...本文介绍了android编译和ant打包原理
mac下是用ant对android App的多渠道打包工具。
作为apache下的一个编译工具,可以用来编译一些较大的java web项目,简单实用方便!
Android SDK 26以后ant编译错误解决办法(错误信息:taskdef A class needed by class com.android.ant.GetUiTargetTask) https://blog.csdn.net/xlyrh/article/details/107766878
3. 设置Jocky的一些基本属性,包括jocky.jar包的位置,以及混淆编译级别: 4. 当设置jocky的enable属性为true时,此时,Ant脚本中的javac编译命令,便会被自动替换成Jocky编译器;当设置enable属性为false时,...
通过ant脚本,编译打包android工程。 编译打包android工程的ant脚本,Android官方提供的打包脚本。 有注释
Ant编译环境配置 文章《使用ant编译之签名问题》的相关资料。主要讲一些Ant编译问题。
Apache Ant,是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发。由Apache软件基金会所提供。
Android Ant 打包
适合在ant下进行编译的工具,以及一些checkstyle,方便实用
demo所需的所有 jar 与demo。 直接下载后 按照csdn描述即可,此项目不包括 ant 混淆打包 混淆打包具体看我的csdn
本文档中的内容多是从实际开发中总结出来的。 ANT 最佳实践 http://www.ossez.com/forum.php?mod=viewthread&tid=13460&fromuid=426