美文网首页Android
as3.0基本配置及打包过程

as3.0基本配置及打包过程

作者: Lucida_star | 来源:发表于2018-02-04 14:36 被阅读174次

随着as最新的更新,也有了很多的修改,今天主要介绍as3.0打包的配置及过程

直接开始

第一步:

首先进行配置根目录下的gradle.build

使用的gradle插件是3.0.0

image

然后就是额外的配置:

image

第二步:

配置module下的gradle.build

引入属性文件,里头包含配置了私钥路径,密码等。取名为:singing.proerties

image image

KEY_ALIAS:别名

KEY_PASSWORD:签名文件密码

STORE_FILE:文件保存路径

STORE_PASSWORD:密钥库密码

然后就是基本配置:

image

签名配置:

image

构建配置:

image

多渠道打包工具:

image

然后就是依赖的一些配置:

image

然后就是混淆的一些基本配置:

proguard-rules.pro

-ignorewarnings

抑制警告

-optimizationpasses 5

代码混淆的压缩比例,值在0-7之间

-dontusemixedcaseclassnames

混淆后类名都为小写

-dontskipnonpubliclibraryclasses

指定不去忽略非公共的库的类

-dontskipnonpubliclibraryclassmembers

指定不去忽略非公共的库的类的成员

-dontpreverify

不做预校验的操作

-verbose

-printmapping proguardMapping.txt

生成原类名和混淆后的类名的映射文件

-optimizations !code/simplification/cast,!field/,!class/merging/

指定混淆是采用的算法

-keepattributes Annotation,InnerClasses

不混淆Annotation

-keepattributes Signature

不混淆泛型

-keepattributes SourceFile,LineNumberTable

-dontwarn com.squareup.okhttp.**

-keep public class * extends android.app.Activity

-keep public class * extends android.app.Application

-keep public class * extends android.app.Service

-keep public class * extends android.content.BroadcastReceiver

-keep public class * extends android.content.ContentProvider

-keep public class * extends android.app.backup.BackupAgentHelper

-keep public class * extends android.preference.Preference

-keep public class * extends android.view.View

-keep public class com.android.vending.licensing.ILicensingService

-keep class android.support.** {*;}

-keepclasseswithmembernames class * {

native <methods>;

}

-keepclassmembers class * extends android.app.Activity{

public void *(android.view.View);

}

-keepclassmembers enum * {

public static **[] values();

public static ** valueOf(java.lang.String);

}

-keep public class * extends android.view.View{

*** get*();

void set(**);

public <init>(android.content.Context);

public <init>(android.content.Context, android.util.AttributeSet);

public <init>(android.content.Context, android.util.AttributeSet, int);

}

-keepclasseswithmembers class * {

public <init>(android.content.Context, android.util.AttributeSet);

public <init>(android.content.Context, android.util.AttributeSet, int);

}

-keep class * implements android.os.Parcelable {

public static final android.os.Parcelable$Creator *;

}

-keepclassmembers class * implements java.io.Serializable {

static final long serialVersionUID;

private static final java.io.ObjectStreamField[] serialPersistentFields;

private void writeObject(java.io.ObjectOutputStream);

private void readObject(java.io.ObjectInputStream);

java.lang.Object writeReplace();

java.lang.Object readResolve();

}

-keep class *.R$ {

*;

}

不混淆资源类

-keepclassmembers class *.R$ {

public static <fields>;

}

-keepclassmembers class * {

void (OnEvent);

}

保持 native 方法不被混淆

-keepclasseswithmembernames class * {

native <methods>;

}

保持自定义控件类不被混淆

-keepclasseswithmembers class * {

public <init>(android.content.Context, android.util.AttributeSet);

}

保持自定义控件类不被混淆

-keepclassmembers class * extends android.app.Activity {

public void *(android.view.View);

}

Butterknife

-dontwarn butterknife.internal.**

-keep class butterknife.** { *; }

-keep class **$$ViewInjector { *; }

-keepclasseswithmembernames class * {

@butterknife.InjectView <fields>;

}

-keepclasseswithmembernames class * {

@butterknife.OnClick <methods>;

@butterknife.OnEditorAction <methods>;

@butterknife.OnItemClick <methods>;

@butterknife.OnItemLongClick <methods>;

@butterknife.OnLongClick <methods>;

}

-keep public class * implements com.bumptech.glide.module.GlideModule

-keep public class * extends com.bumptech.glide.module.AppGlideModule

-keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** {

**[] $VALUES;

public *;

}

-keep class com.umeng.commonsdk.** {*;}

大家也可以关注我的公众号:Lucidastar
也可以查看我的github账号:https://github.com/Lucidastar/PackApk

相关文章

网友评论

本文标题:as3.0基本配置及打包过程

本文链接:https://www.haomeiwen.com/subject/ikpmzxtx.html