Making Job Scheduler into a Mainline Module

Current structure

  • JS service side classes are put in service-jobscheduler.jar. It‘s not included in services.jar, and instead it’s put in the system server classpath, which currently looks like the following: SYSTEMSERVERCLASSPATH=/system/framework/services.jar:/system/framework/ethernet-service.jar:/system/framework/com.android.location.provider.jar:/system/framework/service-jobscheduler.jar

    SYSTEMSERVERCLASSPATH is generated from PRODUCT_SYSTEM_SERVER_JARS.

  • JS framework side classes are put in framework-jobscheduler.jar, 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.

The current structure is not the final design.