android 子module混淆_资源混淆是如何影响到Kotlin协程的

本文探讨了在资源混淆后,Android工程中Kotlin协程无法正常工作的问题。通过分析资源混淆的过程,特别是META-INF文件的变化,发现由于丢失了services文件夹和kotlin_module信息,导致协程的MainDispatcher加载失败。解决方案是在重签名时保留META-INF的services文件夹,以确保协程的正确运行。同时,文章提醒开发者注意协程的异常捕获机制和源码阅读的重要性。
摘要由CSDN通过智能技术生成

导言

随着kotlin的使用,协程也慢慢在我们工程中被开始被使用起来,但在我们工程中却遇到了一个问题,经过资源混淆处理之后的apk包,协程却不如期工作。那么两者到底有什么关联呢,资源混淆又是如何影响到协程的使用的,通过阅读本篇你会马上知晓。

本篇会从如下几个方面讲述这个问题

问题定义->问题分析->问题解决

问题定义

看下面这段demo代码:

package com.example.coroutinenotworkdemo

import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.provider.Settings
import android.util.Log
import android.widget.Toast
import android.widget.Toast.LENGTH_SHORT
import kotlinx.android.synthetic.main.activity_main.*
import kotlinx.coroutines.*
import kotlin.coroutines.CoroutineContext
import kotlin.coroutines.resume
import kotlin.coroutines.suspendCoroutine
import kotlin.system.measureTimeMillis

class MainActivity : AppCompatActivity(), CoroutineScope {
    override val coroutineContext: CoroutineContext
        get() = 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值