Skip to content

Commit

Permalink
Merge pull request #51 from shifujun/fix_mulitdex_caused_by_#46
Browse files Browse the repository at this point in the history
填充插件ApplicationInfo中的dataDir
  • Loading branch information
shifujun committed Jul 17, 2019
2 parents 673ab95 + f998bc6 commit 067ee6f
Showing 1 changed file with 13 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ package com.tencent.shadow.core.loader.blocs
import android.content.Context
import android.content.pm.PackageInfo
import android.content.pm.PackageManager
import android.os.Build
import com.tencent.shadow.core.common.InstalledApk
import com.tencent.shadow.core.load_parameters.LoadParameters
import com.tencent.shadow.core.loader.exceptions.LoadPluginException
Expand All @@ -29,6 +30,7 @@ import com.tencent.shadow.core.loader.managers.ComponentManager
import com.tencent.shadow.core.loader.managers.PluginPackageManager
import com.tencent.shadow.core.runtime.PluginPartInfo
import com.tencent.shadow.core.runtime.PluginPartInfoManager
import com.tencent.shadow.core.runtime.ShadowContext
import com.tencent.shadow.core.runtime.remoteview.ShadowRemoteViewCreatorProvider
import java.io.File
import java.util.concurrent.Callable
Expand Down Expand Up @@ -73,7 +75,18 @@ object LoadPluginBloc {
or PackageManager.GET_SIGNATURES
)
?: throw NullPointerException("getPackageArchiveInfo return null.archiveFilePath==$archiveFilePath")

val tempContext = ShadowContext(hostAppContext, 0).apply {
setBusinessName(loadParameters.businessName)
}
val dataDir = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
tempContext.dataDir
} else {
File(tempContext.filesDir, "dataDir")
}

packageArchiveInfo.applicationInfo.nativeLibraryDir = installedApk.libraryPath
packageArchiveInfo.applicationInfo.dataDir = dataDir.absolutePath

lock.withLock { pluginPackageInfoSet.add(packageArchiveInfo) }
packageArchiveInfo
Expand Down

0 comments on commit 067ee6f

Please sign in to comment.