robovm
robovm copied to clipboard
[WIP] Libcore10 - Android10 runtime
This PR proposes replaces Java Runtime classes used in RoboVM (Android 4.4 base) with ones from Android10 (R45)
Scope of changes
- Java RT classes were completely replaced (check TODO section bellow);
- JNI code was replaced
- RoboVM core/boot code was adapted to Java RT
Highlights
- Java8+ API (streams/nio2 etc);
Conscryptis an alternate Java Security Provider that uses BoringSSL- OpenSSL (v1.0.1e) replaces with BoringSSL (base on OpenSSL 1.1.0g)
- recent crypto unlocks TLS v1.3
- will solve issues: #514 #307 #259
TODO/FIXME
- core lang classes (like Object, String, Thread) were left and adapted from Android 4.4 as corresponding JNI code significantly differs that requires big effort for adaptation (will be done later). As result some API might be missing;
- several places in code are not implemented/adapted yet (marked as RoboVM TODO: FIXME) that might affect particular APIs;
Test builds
There are several options to get test build:
- Build from source code
- Download pre-build Idea plugin from Releases section;
- Setup
Custom plugin repositoryas described by link:
- add
https://dkimitsa.github.io/assets/updatePlugins.xmlas custom plugin repository; - in marketplace's search bar enter
repository: https://dkimitsa.github.io/assets/updatePlugins.xml; - install
RoboVM - Libcore 10plugin from there.
Issue reporting
Please open the issue in the robovm-libcore10-smoketest tracker that was created for testing of libcore10.
Updates/tech notes
Will be post technical details in blog under libcore10 tag
Many thanks for making this!