今天在做项目的打包签名时出现了一些问题,为了以后也为了方便大家我就把我的方法分享出来
如果打包签名时想混淆包名,需要项目中含有proguard.cfg和project.properties两个文件,并在project.properties文件中写入proguard.config=proguard.cfg这一句代码。
proguard.cfg文件
-dontwarn cn.sharesdk.sina.weibo.**
-dontwarn com.slidingmenu.lib.**
-keep class cn.sharesdk.sina.weibo.** { *;}
-keep class com.slidingmenu.lib.** { *;}
-keep class com.android.volley.** { *;}
-keep class cn.sharesdk.framework.** { *;}
-keep class cn.sharesdk.tencent.** { *;}
-keep class com.nostra13.universalimageloader.** { *;}
-keep class com.iflytek.cloud.** { *;}
-keep class com.nineoldandroids.** { *;}
-keep class com.anjoyo.net.** { *;}
-keep class org.apache.commons.lang3.** { *;}
-keep class com.nineoldandroids.** { *;}
-keep class com.iflytek.speech.**{*;}
-keep class com.iflytek.**{*;}
# To enable ProGuard in your project, edit project.properties
# to define the proguard.config property as described in that file.
#
# Add project specific ProGuard rules here.
# By default, the flags in this file are appended to flags specified
# in ${sdk.dir}/tools/proguard/proguard-android.txt
# You can edit the include path and order by changing the ProGuard
# include property in project.properties.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
# Add any project specific keep options here:
project.properties文件
# 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 edit
# "ant.properties", and override values to adapt the script to your
# project structure.
#
# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
# Project target.
target=android-19
proguard.config=proguard.cfg
其中以下下的是我在些项目是所引入的jar包的类,dontwarn就是忽视警告的意思,如果在打包时出现一些带有第三方jar包的包名警告时可以使用-dontwarn XXX.**其中的XXX就是包名
-dontwarn cn.sharesdk.sina.weibo.**
-dontwarn com.slidingmenu.lib.**
-keep class cn.sharesdk.sina.weibo.** { *;}
-keep class com.slidingmenu.lib.** { *;}
-keep class com.android.volley.** { *;}
-keep class cn.sharesdk.framework.** { *;}
-keep class cn.sharesdk.tencent.** { *;}
-keep class com.nostra13.universalimageloader.** { *;}
-keep class com.iflytek.cloud.** { *;}
-keep class com.nineoldandroids.** { *;}
-keep class com.anjoyo.net.** { *;}
-keep class org.apache.commons.lang3.** { *;}
-keep class com.nineoldandroids.** { *;}
-keep class com.iflytek.speech.**{*;}
-keep class com.iflytek.**{*;}
以上代码是保持引用第三方的jar包类不被混淆,如果混淆安装时可能会出现安装失败。
签名成功后显示的包名
其中的一个类
转载时请注明出处:
http://blog.youkuaiyun.com/u014452224/article/details/45588645