使用Sophix热修复注意事项

使用Sophix热修复说明

1.      软件必须以管理员身份运行;

2.      电脑必须安装配置JDK 1.8及以上,不能有低于1.8的jdk版本存在;

3.      Android6.0以上必须要动态申请读写权限【该权限仅用于测试】

private staticfinal int REQUEST_EXTERNAL_STORAGE= 1;
private static
String[] PERMISSIONS_STORAGE = {
       
"android.permission.READ_EXTERNAL_STORAGE",
       
"android.permission.WRITE_EXTERNAL_STORAGE" };

public static void
verifyStoragePermissions(Activity activity) {
   
//版本大于6.0的情况
    if (Build.VERSION.SDK_INT >= 23) {
       
try {
           
//检测是否有写的权限
           
int permission =   ActivityCompat.checkSelfPermission(activity, "android.permission.WRITE_EXTERNAL_STORAGE");
           
if (permission != PackageManager.PERMISSION_GRANTED) {
               
// 没有写的权限,去申请写的权限,会弹出对话框
               
ActivityCompat.requestPermissions(activity, PERMISSIONS_STORAGE, REQUEST_EXTERNAL_STORAGE);
           
}
       
} catch (Exceptione) {
           
e.printStackTrace();
       
}
   
}
}

4.      配置APP Moudle的Gradle:

(1)库文件配置:特别要加上flatDir{dirs‘libs’}

repositories {
    maven {
        url "http://maven.aliyun.com/nexus/content/repositories/releases"
    }
    flatDir{
        dirs 'libs'
    }
}

(2) 依赖文件配置

compile 'com.aliyun.ams:alicloud-android-hotfix:3.1.9'

(3)混淆文件配置

buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro
    }
    debug {
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
           }
}

(4)稳健接入 proguard-rules.pro文件配置

扫描二维码关注公众号,回复: 1029756 查看本文章
-keepclassmembers class com.example.tangdekun.sophixdemo.SophixApplication {
    public <init>();
}

#基线包使用,生成mapping.txt
-printmapping mapping.txt
#生成的mapping.txt在app/buidl/outputs/mapping/release路径下,移动到/app路径下
#修复后的项目使用,保证混淆结果一致
#-applymapping mapping.txt

#hotfix
-keep class com.taobao.sophix.**{*;}
-keep class com.ta.utdid2.device.**{*;}
#防止inline
-dontoptimize

5.      对比APK要在签名加固之前

6.      我们APK自带加密机制,不需要代码混淆,也可以不混淆

7.      版本号只可以是数字和”.”,不可以包含字母,否则更新补丁不成功;

8.      热更新的补丁最高为5M,超过5M之后需要重新发布版本;

猜你喜欢

转载自blog.csdn.net/qq_26585943/article/details/79000011