2019-07-16 16:19:01 -07:00
|
|
|
# Making Job Scheduler into a Mainline Module
|
|
|
|
|
2019-08-12 12:40:31 -07:00
|
|
|
## Current structure
|
2019-07-16 16:19:01 -07:00
|
|
|
|
2019-11-22 11:40:08 +00:00
|
|
|
- JS service side classes are put in `service-jobscheduler.jar`.
|
2019-08-12 12:40:31 -07:00
|
|
|
It's *not* included in services.jar, and instead it's put in the system server classpath,
|
|
|
|
which currently looks like the following:
|
2019-11-22 11:40:08 +00:00
|
|
|
`SYSTEMSERVERCLASSPATH=/system/framework/services.jar:/system/framework/ethernet-service.jar:/system/framework/com.android.location.provider.jar:/system/framework/service-jobscheduler.jar`
|
2019-08-12 12:40:31 -07:00
|
|
|
|
|
|
|
`SYSTEMSERVERCLASSPATH` is generated from `PRODUCT_SYSTEM_SERVER_JARS`.
|
|
|
|
|
2019-11-22 11:40:08 +00:00
|
|
|
- JS framework side classes are put in `framework-jobscheduler.jar`,
|
2019-08-12 12:40:31 -07:00
|
|
|
and the rest of the framework code is put in `framework-minus-apex.jar`,
|
|
|
|
as of http://ag/9145619.
|
|
|
|
|
|
|
|
However these jar files are *not* put on the device. We still generate
|
|
|
|
`framework.jar` merging the two jar files, and this jar file is what's
|
|
|
|
put on the device and loaded by Zygote.
|
|
|
|
|
2019-09-23 16:48:19 -07:00
|
|
|
The current structure is *not* the final design.
|