Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Only Initializing SoLoader Once Broke Dynamic Feature Module. #101

Open
gedeagas opened this issue May 20, 2022 · 3 comments
Open

Only Initializing SoLoader Once Broke Dynamic Feature Module. #101

gedeagas opened this issue May 20, 2022 · 3 comments

Comments

@gedeagas
Copy link

gedeagas commented May 20, 2022

3b24100

This commit checks if SoLoaders have been loaded once via

if (sSoSources != null) {
      return true;
}

But this broke DFM functionality. let's imagine that we have SoLoader init call on MainApplication. Then the user download a DFM module with multiple .so files packed inside the DFM module, when we call SoLoader.init again on DFM module so loader will not load and search .so files inside DFM module and instead do nothing.

cc @simpleton .

@simpleton
Copy link
Member

simpleton commented May 20, 2022 via email

@gedeagas
Copy link
Author

Hi thank you for the quick reply @simpleton. When we are debugging it earlier, the .so files inside DFM module never getting picked up when we call SoLoader.init for the second time inside a DFM module.

Maybe this is the intended behaviours of so loader?. If this is indeed the intended behaviours how can we update the soSource so that it will also include all the so.files inside DFM? we make a quick and dirty fix to solve this problem by removing all the sSoSources != null check. But maybe this "hack" is not the best way to do this. do you have any suggestion?

@gedeagas
Copy link
Author

Hi @simpleton sorry for bothering you again. What's exactly is the proper way to update the soSource? Because of DFM i need to init SoLoader again on the DFM module in order to update the soSource, is there any other way?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants