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

Remove MultiDex library and use DexClassLoader instead #118

Closed
atanasovg opened this issue Jun 11, 2015 · 1 comment
Closed

Remove MultiDex library and use DexClassLoader instead #118

atanasovg opened this issue Jun 11, 2015 · 1 comment

Comments

@atanasovg
Copy link
Contributor

We are currently using the MultiDex library from Google to add the dynamically generated types (binding proxies) to the system ClassLoader. The support for the library however is discontinued as of Android 5.0+. Additionally, the library uses reflection to access private Array field, which might be different on different shells, provided by Hardware Vendors. For example we isolated a Samsung device on which MuliDex is failing.

The solution is to load the dynamic classes using DexClassLoader. The drawback with this approach is that the new classes are NOT visible to the system ClassLoader, which on its hand may lead to ClassNotFound exception when a dynamic type is attempted to be loaded by Android directly.

The above described problem however will not be present once we implement the AOT generation of binding proxies - #103.

@atanasovg
Copy link
Contributor Author

Resolved with #82. As an additional bonus this improved the startup time with approximately 10%.

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

No branches or pull requests

2 participants