当前位置: 首页>>代码示例>>Java>>正文


Java IAndroidTarget.isPlatform方法代码示例

本文整理汇总了Java中com.android.sdklib.IAndroidTarget.isPlatform方法的典型用法代码示例。如果您正苦于以下问题:Java IAndroidTarget.isPlatform方法的具体用法?Java IAndroidTarget.isPlatform怎么用?Java IAndroidTarget.isPlatform使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在com.android.sdklib.IAndroidTarget的用法示例。


在下文中一共展示了IAndroidTarget.isPlatform方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: compareTo

import com.android.sdklib.IAndroidTarget; //导入方法依赖的package包/类
@Override
public int compareTo(IAndroidTarget target) {
    // quick check.
    if (this == target) {
        return 0;
    }

    int versionDiff = mVersion.compareTo(target.getVersion());

    // only if the version are the same do we care about add-ons.
    if (versionDiff == 0) {
        // platforms go before add-ons.
        if (target.isPlatform() == false) {
            return -1;
        }
    }

    return versionDiff;
}
 
开发者ID:tranleduy2000,项目名称:javaide,代码行数:20,代码来源:PlatformTarget.java

示例2: getInstallFolder

import com.android.sdklib.IAndroidTarget; //导入方法依赖的package包/类
/**
 * Computes a potential installation folder if an archive of this package were
 * to be installed right away in the given SDK root.
 * <p/>
 * A platform package is typically installed in SDK/platforms/android-"version".
 * However if we can find a different directory under SDK/platform that already
 * has this platform version installed, we'll use that one.
 *
 * @param osSdkRoot The OS path of the SDK root folder.
 * @param sdkManager An existing SDK manager to list current platforms and addons.
 * @return A new {@link File} corresponding to the directory to use to install this package.
 */
@Override
public File getInstallFolder(String osSdkRoot, SdkManager sdkManager) {

    // First find if this platform is already installed. If so, reuse the same directory.
    for (IAndroidTarget target : sdkManager.getTargets()) {
        if (target.isPlatform() && target.getVersion().equals(mVersion)) {
            return new File(target.getLocation());
        }
    }

    File platforms = new File(osSdkRoot, SdkConstants.FD_PLATFORMS);
    File folder = new File(platforms,
            String.format("android-%s", getAndroidVersion().getApiString())); //$NON-NLS-1$

    return folder;
}
 
开发者ID:tranleduy2000,项目名称:javaide,代码行数:29,代码来源:PlatformPackage.java

示例3: getInstallFolder

import com.android.sdklib.IAndroidTarget; //导入方法依赖的package包/类
/**
 * Computes a potential installation folder if an archive of this package were
 * to be installed right away in the given SDK root.
 * <p/>
 * A platform package is typically installed in SDK/platforms/android-"version".
 * However if we can find a different directory under SDK/platform that already
 * has this platform version installed, we'll use that one.
 *
 * @param osSdkRoot  The OS path of the SDK root folder.
 * @param sdkManager An existing SDK manager to list current platforms and addons.
 * @return A new {@link File} corresponding to the directory to use to install this package.
 */
@Override
public File getInstallFolder(String osSdkRoot, SdkManager sdkManager) {

  // First find if this platform is already installed. If so, reuse the same directory.
  for (IAndroidTarget target : sdkManager.getTargets()) {
    if (target.isPlatform() && target.getVersion().equals(getAndroidVersion())) {
      return new File(target.getLocation());
    }
  }

  File platforms = new File(osSdkRoot, SdkConstants.FD_PLATFORMS);
  File folder = new File(platforms, String.format("android-%s", getAndroidVersion().getApiString())); //$NON-NLS-1$

  return folder;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:28,代码来源:RemotePlatformPkgInfo.java

示例4: prefCapableTargetInstalled

import com.android.sdklib.IAndroidTarget; //导入方法依赖的package包/类
/** Returns if a target capable of rendering preferences file is found. */
private static boolean prefCapableTargetInstalled(@NotNull PsiFile file) {
  Module module = ModuleUtilCore.findModuleForPsiElement(file);
  if (module != null) {
    AndroidPlatform platform = AndroidPlatform.getInstance(module);
    if (platform != null) {
      IAndroidTarget[] targets = platform.getSdkData().getTargets();
      for (int i = targets.length - 1; i >= 0; i--) {
        IAndroidTarget target = targets[i];
        if (target.isPlatform()) {
          AndroidVersion version = target.getVersion();
          int featureLevel = version.getFeatureLevel();
          if (featureLevel >= PREFERENCES_MIN_API) {
            return true;
          }
        }
      }
    }
  }
  return false;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:22,代码来源:LayoutPullParserFactory.java

示例5: getLabel

import com.android.sdklib.IAndroidTarget; //导入方法依赖的package包/类
@NotNull
private static String getLabel(@NotNull IAndroidTarget target) {
  if (target.isPlatform()
      && target.getVersion().getApiLevel() <= SdkVersionInfo.HIGHEST_KNOWN_API) {
    if (target.getVersion().isPreview()) {
      return target.getVersion().getApiString() + ": " + target.getName();
    }
    String name = SdkVersionInfo.getAndroidName(target.getVersion().getApiLevel());
    if (name == null) {
      return "API " + Integer.toString(target.getVersion().getApiLevel());
    } else {
      return name;
    }
  } else {
    return AndroidSdkUtils.getTargetLabel(target);
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:18,代码来源:FormFactorApiComboBox.java

示例6: createAndroidSdkPerAndroidTarget

import com.android.sdklib.IAndroidTarget; //导入方法依赖的package包/类
/**
 * Creates a set of IntelliJ SDKs (one for each build target) corresponding to the Android SDK in the given directory, if SDKs with the
 * default naming convention and each individual build target do not already exist. If IntelliJ SDKs do exist, they are not updated.
 */
@NotNull
private static List<Sdk> createAndroidSdkPerAndroidTarget(@NotNull File androidSdkPath, @Nullable Sdk javaSdk) {
  AndroidSdkData sdkData = getSdkData(androidSdkPath);
  if (sdkData == null) {
    return Collections.emptyList();
  }
  IAndroidTarget[] targets = sdkData.getTargets();
  if (targets.length == 0) {
    return Collections.emptyList();
  }
  List<Sdk> sdks = Lists.newArrayList();
  Sdk ideSdk = javaSdk != null ? javaSdk : getJdk();
  for (IAndroidTarget target : targets) {
    if (target.isPlatform() && !doesIdeAndroidSdkExist(target)) {
      String name = chooseNameForNewLibrary(target);
      Sdk sdk = createNewAndroidPlatform(target, sdkData.getLocation().getPath(), name, ideSdk, true);
      sdks.add(sdk);
    }
  }
  return sdks;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:26,代码来源:IdeSdks.java

示例7: compareTo

import com.android.sdklib.IAndroidTarget; //导入方法依赖的package包/类
@Override
public int compareTo(IAndroidTarget target) {
    // quick check.
    if (this == target) {
        return 0;
    }

    int versionDiff = getVersion().compareTo(target.getVersion());

    // only if the version are the same do we care about platform/add-ons.
    if (versionDiff == 0) {
        // platforms go before add-ons.
        if (target.isPlatform()) {
            return +1;
        } else {
            AddOnTarget targetAddOn = (AddOnTarget)target;

            // both are add-ons of the same version. Compare per vendor then by name
            int vendorDiff = mVendor.compareTo(targetAddOn.mVendor);
            if (vendorDiff == 0) {
                return mName.compareTo(targetAddOn.mName);
            } else {
                return vendorDiff;
            }
        }

    }

    return versionDiff;
}
 
开发者ID:tranleduy2000,项目名称:javaide,代码行数:31,代码来源:AddOnTarget.java

示例8: getInstallFolder

import com.android.sdklib.IAndroidTarget; //导入方法依赖的package包/类
/**
 * Computes a potential installation folder if an archive of this package were
 * to be installed right away in the given SDK root.
 * <p/>
 * An add-on package is typically installed in SDK/add-ons/"addon-name"-"api-level".
 * The name needs to be sanitized to be acceptable as a directory name.
 * However if we can find a different directory under SDK/add-ons that already
 * has this add-ons installed, we'll use that one.
 *
 * @param osSdkRoot The OS path of the SDK root folder.
 * @param sdkManager An existing SDK manager to list current platforms and addons.
 * @return A new {@link File} corresponding to the directory to use to install this package.
 */
@Override
public File getInstallFolder(String osSdkRoot, SdkManager sdkManager) {
    File addons = new File(osSdkRoot, SdkConstants.FD_ADDONS);

    // First find if this add-on is already installed. If so, reuse the same directory.
    for (IAndroidTarget target : sdkManager.getTargets()) {
        if (!target.isPlatform() && target.getVersion().equals(mVersion)) {
            // Starting with addon-4.xsd, the addon source.properties differentiate
            // between ids and display strings. However the addon target which relies
            // on the manifest.ini does not so we need to cover both cases.
            // TODO fix when we get rid of manifest.ini for addons
            if ((target.getName().equals(getNameId()) &&
                 target.getVendor().equals(getVendorId())) ||
                (target.getName().equals(getDisplayName()) &&
                 target.getVendor().equals(getDisplayVendor()))) {
                return new File(target.getLocation());
            }
        }
    }

    // Compute a folder directory using the addon declared name and vendor strings.
    String name = encodeAddonName();

    for (int i = 0; i < 100; i++) {
        String name2 = i == 0 ? name : String.format("%s-%d", name, i); //$NON-NLS-1$
        File folder = new File(addons, name2);
        if (!folder.exists()) {
            return folder;
        }
    }

    // We shouldn't really get here. I mean, seriously, we tried hard enough.
    return null;
}
 
开发者ID:tranleduy2000,项目名称:javaide,代码行数:48,代码来源:AddonPackage.java

示例9: getSDKFolderFo

import com.android.sdklib.IAndroidTarget; //导入方法依赖的package包/类
public FileObject getSDKFolderFo() {
    IAndroidTarget platformTarget = target;
    while (platformTarget != null && !platformTarget.isPlatform()) {
        platformTarget = platformTarget.getParent();
    }
    FileObject platformDir = platformTarget == null
            ? null
            : FileUtil.toFileObject(FileUtil.normalizeFile(new File(platformTarget.getLocation())));
    return platformDir;
}
 
开发者ID:NBANDROIDTEAM,项目名称:NBANDROID-V2,代码行数:11,代码来源:AndroidPlatformInfo.java

示例10: getInstallFolder

import com.android.sdklib.IAndroidTarget; //导入方法依赖的package包/类
/**
 * Computes a potential installation folder if an archive of this package were
 * to be installed right away in the given SDK root.
 * <p/>
 * An add-on package is typically installed in SDK/add-ons/"addon-name"-"api-level".
 * The name needs to be sanitized to be acceptable as a directory name.
 * However if we can find a different directory under SDK/add-ons that already
 * has this add-ons installed, we'll use that one.
 *
 * @param osSdkRoot  The OS path of the SDK root folder.
 * @param sdkManager An existing SDK manager to list current platforms and addons.
 * @return A new {@link File} corresponding to the directory to use to install this package.
 */
@Override
public File getInstallFolder(String osSdkRoot, SdkManager sdkManager) {
  File addons = new File(osSdkRoot, SdkConstants.FD_ADDONS);

  IdDisplay name = ((IPkgDescAddon)getPkgDesc()).getName();
  IdDisplay vendor = getPkgDesc().getVendor();

  // First find if this add-on is already installed. If so, reuse the same directory.
  for (IAndroidTarget target : sdkManager.getTargets()) {
    if (!target.isPlatform() && target.getVersion().equals(getAndroidVersion())) {
      // Starting with addon-4.xsd, the addon source.properties differentiate
      // between ids and display strings. However the addon target which relies
      // on the manifest.ini does not so we need to cover both cases.
      // TODO fix when we get rid of manifest.ini for addons
      if ((target.getName().equals(name.getId()) && target.getVendor().equals(vendor.getId())) ||
          (target.getName().equals(name.getDisplay()) && target.getVendor().equals(vendor.getDisplay()))) {
        return new File(target.getLocation());
      }
    }
  }

  // Compute a folder directory using the addon declared name and vendor strings.
  String dir = encodeAddonName(name.getId(), vendor.getId(), getAndroidVersion());

  for (int i = 0; i < 100; i++) {
    String dir2 = i == 0 ? dir : String.format("%s-%d", dir, i); //$NON-NLS-1$
    File folder = new File(addons, dir2);
    if (!folder.exists()) {
      return folder;
    }
  }

  // We shouldn't really get here. I mean, seriously, we tried hard enough.
  return null;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:49,代码来源:RemoteAddonPkgInfo.java

示例11: populateApiLevels

import com.android.sdklib.IAndroidTarget; //导入方法依赖的package包/类
/**
 * Populate the api variables in the given state store
 * @param apiLevel the chosen build api level
 * @param apiTarget the chosen target api level
 * @param state the state in which the given variables will be set
 */
public void populateApiLevels(int apiLevel, @Nullable IAndroidTarget apiTarget, @NotNull ScopedStateStore state) {
  if (apiLevel >= 1) {
    if (apiTarget == null) {
      state.put(myBuildApiKey, Integer.toString(apiLevel));
    } else if (!apiTarget.isPlatform()) {
      state.put(myBuildApiKey, AndroidTargetHash.getTargetHashString(apiTarget));
    } else {
      state.put(myBuildApiKey, TemplateMetadata.getBuildApiString(apiTarget.getVersion()));
    }
    state.put(myBuildApiLevelKey, apiLevel);
    if (apiLevel >= SdkVersionInfo.HIGHEST_KNOWN_API || (apiTarget != null && apiTarget.getVersion().isPreview())) {
      state.put(myTargetApiLevelKey, apiLevel);
      if (apiTarget != null) {
        state.put(myTargetApiStringKey, apiTarget.getVersion().getApiString());
      } else {
        state.put(myTargetApiStringKey, Integer.toString(apiLevel));
      }
    } else if (ourHighestInstalledApiTarget != null) {
      state.put(myTargetApiLevelKey, ourHighestInstalledApiTarget.getVersion().getApiLevel());
      state.put(myTargetApiStringKey, ourHighestInstalledApiTarget.getVersion().getApiString());
    }

    // Are we installing a new platform (so we don't have an IAndroidTarget yet) ?
    // If so, adjust compile and target sdk to that new platform
    if (apiTarget != null && apiLevel > apiTarget.getVersion().getApiLevel() && !apiTarget.getVersion().isPreview()) {
      state.put(myBuildApiKey, Integer.toString(apiLevel));
      state.put(myTargetApiStringKey, Integer.toString(apiLevel));
      // myBuildApiLevelKey is already correct
    }
  }
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:38,代码来源:FormFactorApiComboBox.java

示例12: getSkinFolder

import com.android.sdklib.IAndroidTarget; //导入方法依赖的package包/类
/**
 * Returns the full absolute OS path to a skin specified by name for a given target.
 * @param skinName The name of the skin to find. Case-sensitive.
 * @param target The target where to find the skin.
 * @return a {@link File} that may or may not actually exist.
 */
private File getSkinFolder(@NonNull String skinName, @NonNull IAndroidTarget target) {
    String path = target.getPath(IAndroidTarget.SKINS);
    File skin = new File(path, skinName);

    if (skin.exists() == false && target.isPlatform() == false) {
        target = target.getParent();

        path = target.getPath(IAndroidTarget.SKINS);
        skin = new File(path, skinName);
    }

    return skin;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:20,代码来源:AvdManager.java

示例13: getCompileTarget

import com.android.sdklib.IAndroidTarget; //导入方法依赖的package包/类
/**
 * Returns the compile target to use for the given project
 *
 * @param project the project in question
 *
 * @return the compile target to use to build the given project
 */
@Nullable
public IAndroidTarget getCompileTarget(@NonNull Project project) {
    int buildSdk = project.getBuildSdk();
    IAndroidTarget[] targets = getTargets();
    for (int i = targets.length - 1; i >= 0; i--) {
        IAndroidTarget target = targets[i];
        if (target.isPlatform() && target.getVersion().getApiLevel() == buildSdk) {
            return target;
        }
    }

    return null;
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:21,代码来源:LintClient.java

示例14: getCompilationTargets

import com.android.sdklib.IAndroidTarget; //导入方法依赖的package包/类
@NotNull
public static IAndroidTarget[] getCompilationTargets(@NotNull AndroidSdkData sdkData) {
  IAndroidTarget[] targets = sdkData.getTargets();
  List<IAndroidTarget> list = new ArrayList<IAndroidTarget>();

  for (IAndroidTarget target : targets) {
    if (!target.isPlatform() && target.getOptionalLibraries().isEmpty()) {
      continue;
    }
    list.add(target);
  }
  return list.toArray(new IAndroidTarget[list.size()]);
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:14,代码来源:FormFactorApiComboBox.java

示例15: getRenderingTargetLabel

import com.android.sdklib.IAndroidTarget; //导入方法依赖的package包/类
/**
 * Returns a suitable label to use to display the given rendering target
 *
 * @param target the target to produce a label for
 * @param brief  if true, generate a brief label (suitable for a toolbar
 *               button), otherwise a fuller name (suitable for a menu item)
 * @return the label
 */
public static String getRenderingTargetLabel(@Nullable IAndroidTarget target, boolean brief) {
  if (target == null) {
    return "<null>";
  }

  AndroidVersion version = target.getVersion();

  if (brief) {
    if (target.isPlatform()) {
      String codename = version.getCodename();
      if (codename != null && !codename.isEmpty()) {
        if (codename.equals("MNC")) {
          return "M";
        }
        // The target menu brief label is deliberately short; typically it's just a 2 digit
        // API number. If this is a preview platform we should display the codename, but only
        // if it's a really short codename; if not, just display the first letter (since Android
        // platforms are typically identified by a letter anyway).
        if (codename.length() <= 3) {
          return codename;
        } else {
          return Character.toString(codename.charAt(0));
        }
      }
      return Integer.toString(version.getApiLevel());
    }
    else {
      return target.getName() + ':' + Integer.toString(version.getApiLevel());
    }
  }

  return String.format("API %1$d: %2$s", version.getApiLevel(), target.getShortClasspathName());
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:42,代码来源:TargetMenuAction.java


注:本文中的com.android.sdklib.IAndroidTarget.isPlatform方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。