Avoid duplicated classes for boot dex jars
When a boot classpath java library is directly or indirectly included in APEXes, multiple variant of the library exist. When running the hiddenapi tool, we need to eliminate the duplication, otherwise the tool will complain. Previously, we simply choose the platform variant of the java library among the multiple variants. However, if the java library is marked not available for the platform (i.e. "//apex_available:platform" is not in the apex_available property), the platform variant does not exist and thus it is not fed into the hiddenapi tool, which causes missing references in the tool. To solve the problem, the platform variant is selected only for the java libs that are available for the platform. For those libs that are not available for the platform, we choose one variant of it using a heuristic; skip testing APEXes and choose com.android.art.release among the com.android.art.* variants. Bug: 128708192 Test: m Change-Id: I33bf297eb3029696ae3504a011486210708fb2c2
Loading
Please register or sign in to comment