All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.android.sdklib.ISystemImage Maven / Gradle / Ivy

There is a newer version: 25.3.0
Show newest version
/*
 * Copyright (C) 2011 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.android.sdklib;

import com.android.SdkConstants;
import com.android.annotations.NonNull;
import com.android.sdklib.repository.descriptors.IdDisplay;

import java.io.File;


/**
 * Describes a system image as used by an {@link IAndroidTarget}.
 * A system image has an installation path, a location type and an ABI type.
 */
public interface ISystemImage extends Comparable {

    /** Indicates the type of location for the system image folder in the SDK. */
    public enum LocationType {
        /**
         * The system image is located in the legacy platform's {@link SdkConstants#FD_IMAGES}
         * folder.
         * 

* Used by both platform and add-ons. */ IN_PLATFORM_LEGACY, /** * The system image is located in a sub-directory of the platform's * {@link SdkConstants#FD_IMAGES} folder, allowing for multiple system * images within the platform. *

* Used by both platform and add-ons. */ IN_PLATFORM_SUBFOLDER, /** * The system image is located in the new SDK's {@link SdkConstants#FD_SYSTEM_IMAGES} * folder. Supported as of Tools R14 and Repository XSD version 5. *

* Used only by both platform. This is not supported for add-ons yet. */ IN_SYSTEM_IMAGE, } /** Returns the actual location of an installed system image. */ @NonNull public File getLocation(); /** Indicates the location strategy for this system image in the SDK. */ @NonNull public LocationType getLocationType(); /** Returns the tag of the system image. */ @NonNull public IdDisplay getTag(); /** * Returns the ABI type. For example, one of {@link SdkConstants#ABI_ARMEABI}, * {@link SdkConstants#ABI_ARMEABI_V7A}, {@link SdkConstants#ABI_INTEL_ATOM} or * {@link SdkConstants#ABI_MIPS}. * Cannot be null nor empty. */ @NonNull public String getAbiType(); /** * Returns the skins embedded in the system image.
* Only supported by system images using {@link LocationType#IN_SYSTEM_IMAGE}.
* The skins listed here are merged in the {@link IAndroidTarget#getSkins()} list. * @return A non-null skin list, possibly empty. */ @NonNull public File[] getSkins(); }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy