★ Android Studio APK打包流程

打包一条龙流程,小白也可以看哟 (适用于新手) 写的不好还请多多指点

代码混淆
在build.grandle添加,其中规则写在proguard-rules.pro中
★ Android Studio APK打包流程_第1张图片

在proguard-rules.pro中加入以下代码,基本可以涵盖所有

-optimizationpasses 5          # 指定代码的压缩级别
-dontusemixedcaseclassnames   # 是否使用大小写混合
-dontpreverify           # 混淆时是否做预校验
-verbose                # 混淆时是否记录日志

-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*  # 混淆时所采用的算法

-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 com.android.vending.licensing.ILicensingService    # 保持哪些类不被混淆

-keepclasseswithmembernames class * {  # 保持 native 方法不被混淆
    native ;
}
-keepclasseswithmembers class * {   # 保持自定义控件类不被混淆
    public (android.content.Context, android.util.AttributeSet);
}
-keepclasseswithmembers class * {# 保持自定义控件类不被混淆
    public (android.content.Context, android.util.AttributeSet, int);
}
-keepclassmembers class * extends android.app.Activity { # 保持自定义控件类不被混淆   
    public void *(android.view.View);
}
-keepclassmembers enum * {     # 保持枚举 enum 类不被混淆    
    public static **[] values();    
    public static ** valueOf(java.lang.String);
}
-keep class * implements android.os.Parcelable { # 保持 Parcelable 不被混淆  
    public static final android.os.Parcelable$Creator *;
}

混淆完毕开始打包
★ Android Studio APK打包流程_第2张图片
★ Android Studio APK打包流程_第3张图片
★ Android Studio APK打包流程_第4张图片
★ Android Studio APK打包流程_第5张图片

继续下一步 就会生成一个apk文件
然后使用360加固(这个很好用的)
一定要先加固!!!
★ Android Studio APK打包流程_第6张图片

然后使用360提供的工具再签名,就可以上线了.

你可能感兴趣的:(Android基础,android,apk)