本文整理汇总了Java中com.android.sdklib.BuildToolInfo类的典型用法代码示例。如果您正苦于以下问题:Java BuildToolInfo类的具体用法?Java BuildToolInfo怎么用?Java BuildToolInfo使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
BuildToolInfo类属于com.android.sdklib包,在下文中一共展示了BuildToolInfo类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: createLegacyBuildTools
import com.android.sdklib.BuildToolInfo; //导入依赖的package包/类
@NonNull
private BuildToolInfo createLegacyBuildTools(@NonNull LocalPlatformToolPkgInfo ptInfo) {
File platformTools = new File(getLocation(), SdkConstants.FD_PLATFORM_TOOLS);
File platformToolsLib = ptInfo.getLocalDir();
File platformToolsRs = new File(platformTools, SdkConstants.FN_FRAMEWORK_RENDERSCRIPT);
return new BuildToolInfo(
ptInfo.getDesc().getFullRevision(),
platformTools,
new File(platformTools, SdkConstants.FN_AAPT),
new File(platformTools, SdkConstants.FN_AIDL),
new File(platformTools, SdkConstants.FN_DX),
new File(platformToolsLib, SdkConstants.FN_DX_JAR),
new File(platformTools, SdkConstants.FN_RENDERSCRIPT),
new File(platformToolsRs, SdkConstants.FN_FRAMEWORK_INCLUDE),
new File(platformToolsRs, SdkConstants.FN_FRAMEWORK_INCLUDE_CLANG),
null,
null,
null,
null,
new File(platformTools, SdkConstants.FN_ZIPALIGN));
}
开发者ID:tranleduy2000,项目名称:javaide,代码行数:23,代码来源:LocalSdk.java
示例2: scanBuildTools
import com.android.sdklib.BuildToolInfo; //导入依赖的package包/类
private void scanBuildTools(File collectionDir, Collection<LocalPkgInfo> outCollection) {
// The build-tool root folder contains a list of per-revision folders.
for (File buildToolDir : mFileOp.listFiles(collectionDir)) {
if (!shouldVisitDir(PkgType.PKG_BUILD_TOOLS, buildToolDir)) {
continue;
}
Properties props = parseProperties(new File(buildToolDir, SdkConstants.FN_SOURCE_PROP));
FullRevision rev = PackageParserUtils.getPropertyFull(props, PkgProps.PKG_REVISION);
if (rev == null) {
continue; // skip, no revision
}
BuildToolInfo btInfo = new BuildToolInfo(rev, buildToolDir);
LocalBuildToolPkgInfo pkgInfo =
new LocalBuildToolPkgInfo(this, buildToolDir, props, rev, btInfo);
outCollection.add(pkgInfo);
}
}
开发者ID:tranleduy2000,项目名称:javaide,代码行数:20,代码来源:LocalSdk.java
示例3: getTargetInfo
import com.android.sdklib.BuildToolInfo; //导入依赖的package包/类
@Override
@NonNull
public TargetInfo getTargetInfo(
@NonNull String targetHash,
@NonNull FullRevision buildToolRevision,
@NonNull ILogger logger) {
init(logger);
IAndroidTarget target = mSdkManager.getTargetFromHashString(targetHash);
if (target == null) {
throw new IllegalStateException("failed to find target with hash string '" + targetHash + "' in: " + mSdkLocation);
}
BuildToolInfo buildToolInfo = mSdkManager.getBuildTool(buildToolRevision);
if (buildToolInfo == null) {
throw new IllegalStateException("failed to find Build Tools revision "
+ buildToolRevision.toString());
}
return new TargetInfo(target, buildToolInfo);
}
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:22,代码来源:DefaultSdkLoader.java
示例4: preDexLibrary
import com.android.sdklib.BuildToolInfo; //导入依赖的package包/类
/**
* Converts the bytecode to Dalvik format
* @param inputFile the input file
* @param outFile the output file or folder if multi-dex is enabled.
* @param multiDex whether multidex is enabled.
* @param dexOptions dex options
*
* @throws IOException
* @throws InterruptedException
* @throws ProcessException
*/
public void preDexLibrary(
@NonNull File inputFile,
@NonNull File outFile,
boolean multiDex,
@NonNull DexOptions dexOptions)
throws IOException, InterruptedException, ProcessException {
checkState(mTargetInfo != null,
"Cannot call preDexLibrary() before setTargetInfo() is called.");
BuildToolInfo buildToolInfo = mTargetInfo.getBuildTools();
PreDexCache.getCache().preDexLibrary(
inputFile,
outFile,
multiDex,
dexOptions,
buildToolInfo,
mVerboseExec,
mJavaProcessExecutor,
mProcessOutputHandler);
}
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:33,代码来源:AndroidBuilder.java
示例5: convertLibraryToJack
import com.android.sdklib.BuildToolInfo; //导入依赖的package包/类
/**
* Converts the bytecode of a library to the jack format
* @param inputFile the input file
* @param outFile the location of the output classes.dex file
* @param dexOptions dex options
*
* @throws ProcessException
* @throws IOException
* @throws InterruptedException
*/
public void convertLibraryToJack(
@NonNull File inputFile,
@NonNull File outFile,
@NonNull DexOptions dexOptions)
throws ProcessException, IOException, InterruptedException {
checkState(mTargetInfo != null,
"Cannot call preJackLibrary() before setTargetInfo() is called.");
BuildToolInfo buildToolInfo = mTargetInfo.getBuildTools();
JackConversionCache.getCache().convertLibrary(
inputFile,
outFile,
dexOptions,
buildToolInfo,
mVerboseExec,
mJavaProcessExecutor,
mProcessOutputHandler,
mLogger);
}
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:31,代码来源:AndroidBuilder.java
示例6: forVersion
import com.android.sdklib.BuildToolInfo; //导入依赖的package包/类
/**
* Load a built-tools version specific {@link ServiceLoader} helper.
* @param buildToolInfo the requested build-tools information
* @return an initialized {@link BuildToolsServiceLoader.BuildToolServiceLoader} to get
* instances of {@link ServiceLoader} from.
*/
@NonNull
public synchronized BuildToolServiceLoader forVersion(BuildToolInfo buildToolInfo) {
Optional<LoadedBuildTool> loadedBuildToolOptional =
findVersion(buildToolInfo.getRevision());
if (loadedBuildToolOptional.isPresent()) {
return loadedBuildToolOptional.get().serviceLoader;
}
LoadedBuildTool loadedBuildTool = new LoadedBuildTool(buildToolInfo.getRevision(),
new BuildToolServiceLoader(buildToolInfo));
loadedBuildTools.add(loadedBuildTool);
return loadedBuildTool.serviceLoader;
}
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:22,代码来源:BuildToolsServiceLoader.java
示例7: getBuildToolInfo
import com.android.sdklib.BuildToolInfo; //导入依赖的package包/类
/**
* Create a fake build tool info where the dx tool actually exists (even if it's not used).
*/
private static BuildToolInfo getBuildToolInfo() throws IOException {
File toolDir = Files.createTempDir();
// create a dx.jar file.
File dx = new File(toolDir, FN_DX_JAR);
Files.write("dx!", dx, Charsets.UTF_8);
return new BuildToolInfo(
new FullRevision(1),
toolDir,
new File(toolDir, FN_AAPT),
new File(toolDir, FN_AIDL),
new File(toolDir, FN_DX),
dx,
new File(toolDir, FN_RENDERSCRIPT),
new File(toolDir, "include"),
new File(toolDir, "clang-include"),
new File(toolDir, FN_BCC_COMPAT),
new File(toolDir, "arm-linux-androideabi-ld"),
new File(toolDir, "i686-linux-android-ld"),
new File(toolDir, "mipsel-linux-android-ld"),
new File(toolDir, FN_ZIPALIGN));
}
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:27,代码来源:PreDexCacheTest.java
示例8: putSdkDependentParams
import com.android.sdklib.BuildToolInfo; //导入依赖的package包/类
/**
* Populate the given state with a set of variables that depend on the user's installed SDK. This method should
* be called early in the initialization of a wizard or path.
* Variables:
* Build Tools Version: Used to populate the project level build.gradle with the correct Gradle plugin version number
* If the required build tools version is not installed, a request is added for installation
* SDK Home: The location of the installed SDK
* @param state the state store to populate with the values stored in the SDK
*/
public static void putSdkDependentParams(@NotNull ScopedStateStore state) {
final AndroidSdkData sdkData = AndroidSdkUtils.tryToChooseAndroidSdk();
BuildToolInfo buildTool = sdkData != null ? sdkData.getLatestBuildTool() : null;
FullRevision minimumRequiredBuildToolVersion = FullRevision.parseRevision(SdkConstants.MIN_BUILD_TOOLS_VERSION);
if (buildTool != null && buildTool.getRevision().compareTo(minimumRequiredBuildToolVersion) >= 0) {
state.put(WizardConstants.BUILD_TOOLS_VERSION_KEY, buildTool.getRevision().toString());
} else {
// We need to install a new build tools version
state.listPush(WizardConstants.INSTALL_REQUESTS_KEY, PkgDesc.Builder.newBuildTool(minimumRequiredBuildToolVersion).create());
state.put(WizardConstants.BUILD_TOOLS_VERSION_KEY, minimumRequiredBuildToolVersion.toString());
}
if (sdkData != null) {
// Gradle expects a platform-neutral path
state.put(WizardConstants.SDK_HOME_KEY, FileUtil.toSystemIndependentName(sdkData.getPath()));
}
}
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:27,代码来源:ConfigureAndroidProjectPath.java
示例9: createNewProjectState
import com.android.sdklib.BuildToolInfo; //导入依赖的package包/类
private static NewProjectWizardState createNewProjectState(boolean createWithProject, AndroidSdkData sdkData) {
final NewProjectWizardState values = new NewProjectWizardState();
assertNotNull(values);
Template.convertApisToInt(values.getParameters());
values.put(ATTR_CREATE_ACTIVITY, createWithProject);
values.put(ATTR_GRADLE_VERSION, GRADLE_LATEST_VERSION);
values.put(ATTR_GRADLE_PLUGIN_VERSION, GRADLE_PLUGIN_RECOMMENDED_VERSION);
values.put(ATTR_MODULE_NAME, "TestModule");
values.put(ATTR_PACKAGE_NAME, "test.pkg");
// TODO: Test the icon generator too
values.put(ATTR_CREATE_ICONS, false);
final BuildToolInfo buildTool = sdkData.getLatestBuildTool();
if (buildTool != null) {
values.put(ATTR_BUILD_TOOLS_VERSION, buildTool.getRevision().toString());
}
return values;
}
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:20,代码来源:TemplateTest.java
示例10: getZipAlign
import com.android.sdklib.BuildToolInfo; //导入依赖的package包/类
@NotNull
public static String getZipAlign(@NotNull String sdkPath, @NotNull IAndroidTarget target) {
final BuildToolInfo buildToolInfo = target.getBuildToolInfo();
if (buildToolInfo != null) {
String path = null;
try {
path = buildToolInfo.getPath(BuildToolInfo.PathId.ZIP_ALIGN);
}
catch (Throwable ignored) {
}
if (path != null && new File(path).exists()) {
return path;
}
}
return sdkPath + File.separatorChar + toolPath(SdkConstants.FN_ZIPALIGN);
}
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:18,代码来源:AndroidCommonUtils.java
示例11: execute
import com.android.sdklib.BuildToolInfo; //导入依赖的package包/类
@NotNull
public static Map<AndroidCompilerMessageKind, List<String>> execute(@NotNull IAndroidTarget target,
@NotNull String file,
@NotNull String outFile,
@NotNull String[] sourceRootPaths) throws IOException {
BuildToolInfo buildToolInfo = target.getBuildToolInfo();
if (buildToolInfo == null) {
return Collections.singletonMap(AndroidCompilerMessageKind.ERROR, Collections.singletonList("No Build Tools in the Android SDK."));
}
final List<String> commands = new ArrayList<String>();
final String frameworkAidlPath = target.getPath(IAndroidTarget.ANDROID_AIDL);
commands.add(buildToolInfo.getPath(BuildToolInfo.PathId.AIDL));
commands.add("-p" + frameworkAidlPath);
for (String path : sourceRootPaths) {
commands.add("-I" + path);
}
commands.add(file);
commands.add(outFile);
LOG.info(AndroidCommonUtils.command2string(commands));
return AndroidExecutionUtil.doExecute(ArrayUtil.toStringArray(commands));
}
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:26,代码来源:AndroidIdl.java
示例12: getTargetInfo
import com.android.sdklib.BuildToolInfo; //导入依赖的package包/类
@Override
public TargetInfo getTargetInfo() {
if (null == defaultBuilder.getTargetInfo()) {
return null;
}
if (!updateAapt && atlasExtension.getTBuildConfig().getUseCustomAapt()) {
super.setTargetInfo(defaultBuilder.getTargetInfo());
BuildToolInfo defaultBuildToolInfo = defaultBuilder.getTargetInfo().getBuildTools();
File customAaptFile = getAapt();
try {
Method method = defaultBuildToolInfo.getClass()
.getDeclaredMethod("add", PathId.class, File.class);
method.setAccessible(true);
method.invoke(defaultBuildToolInfo, PathId.AAPT, customAaptFile);
} catch (Throwable e) {
throw new GradleException(e.getMessage());
}
updateAapt = true;
}
return defaultBuilder.getTargetInfo();
}
开发者ID:alibaba,项目名称:atlas,代码行数:29,代码来源:AtlasBuilder.java
示例13: AtlasAapt
import com.android.sdklib.BuildToolInfo; //导入依赖的package包/类
/**
* Creates a new entry point to the original {@code aapt}.
*
* @param processExecutor the executor for external processes
* @param processOutputHandler the handler to process the executed process' output
* @param buildToolInfo the build tools to use
* @param logger logger to use
* @param processMode the process mode to run {@code aapt} on
* @param cruncherProcesses if using build tools that support crunching processes, how many
* processes to use; if set to {@code 0}, the default number will be used
*/
public AtlasAapt(ProcessExecutor processExecutor,
ProcessOutputHandler processOutputHandler,
BuildToolInfo buildToolInfo,
ILogger logger,
PngProcessMode processMode,
int cruncherProcesses) {
super(processExecutor,
processOutputHandler,
buildToolInfo,
logger,
processMode,
cruncherProcesses);
}
开发者ID:alibaba,项目名称:atlas,代码行数:25,代码来源:AtlasAapt.java
示例14: LocalBuildToolPkgInfo
import com.android.sdklib.BuildToolInfo; //导入依赖的package包/类
public LocalBuildToolPkgInfo(@NonNull LocalSdk localSdk,
@NonNull File localDir,
@NonNull Properties sourceProps,
@NonNull FullRevision revision,
@Nullable BuildToolInfo btInfo) {
super(localSdk, localDir, sourceProps);
mDesc = PkgDesc.Builder.newBuildTool(revision).create();
mBuildToolInfo = btInfo;
}
开发者ID:tranleduy2000,项目名称:javaide,代码行数:10,代码来源:LocalBuildToolPkgInfo.java
示例15: getBuildTool
import com.android.sdklib.BuildToolInfo; //导入依赖的package包/类
/**
* Returns the {@link BuildToolInfo} for the given revision.
*
* @param revision The requested revision.
* @return A {@link BuildToolInfo}. Can be null if {@code revision} is null or is
* not part of the known set returned by {@code getPkgsInfos(PkgType.PKG_BUILD_TOOLS)}.
*/
@Nullable
public BuildToolInfo getBuildTool(@Nullable FullRevision revision) {
LocalPkgInfo pkg = getPkgInfo(PkgType.PKG_BUILD_TOOLS, revision);
if (pkg instanceof LocalBuildToolPkgInfo) {
return ((LocalBuildToolPkgInfo) pkg).getBuildToolInfo();
}
return null;
}
开发者ID:tranleduy2000,项目名称:javaide,代码行数:16,代码来源:LocalSdk.java
示例16: getLatestBuildTool
import com.android.sdklib.BuildToolInfo; //导入依赖的package包/类
/**
* Returns the highest build-tool revision known, or null if there are are no build-tools.
* <p/>
* If no specific build-tool package is installed but the platform-tools is lower than 17,
* then this creates and returns a "legacy" built-tool package using platform-tools.
* (We only split build-tools out of platform-tools starting with revision 17,
* before they were both the same thing.)
*
* @return The highest build-tool revision known, or null.
*/
@Nullable
public BuildToolInfo getLatestBuildTool() {
if (mLegacyBuildTools != null) {
return mLegacyBuildTools;
}
LocalPkgInfo[] pkgs = getPkgsInfos(PkgType.PKG_BUILD_TOOLS);
if (pkgs.length == 0) {
LocalPkgInfo ptPkg = getPkgInfo(PkgType.PKG_PLATFORM_TOOLS);
if (ptPkg instanceof LocalPlatformToolPkgInfo &&
ptPkg.getDesc().getFullRevision().compareTo(new FullRevision(17)) < 0) {
// older SDK, create a compatible build-tools
mLegacyBuildTools = createLegacyBuildTools((LocalPlatformToolPkgInfo) ptPkg);
return mLegacyBuildTools;
}
return null;
}
assert pkgs.length > 0;
// Note: the pkgs come from a TreeMultimap so they should already be sorted.
// Just in case, sort them again.
Arrays.sort(pkgs);
// LocalBuildToolPkgInfo's comparator sorts on its FullRevision so we just
// need to take the latest element.
LocalPkgInfo pkg = pkgs[pkgs.length - 1];
if (pkg instanceof LocalBuildToolPkgInfo) {
return ((LocalBuildToolPkgInfo) pkg).getBuildToolInfo();
}
return null;
}
开发者ID:tranleduy2000,项目名称:javaide,代码行数:45,代码来源:LocalSdk.java
示例17: Abi
import com.android.sdklib.BuildToolInfo; //导入依赖的package包/类
Abi(@NonNull String device,
@NonNull String toolchain,
@NonNull BuildToolInfo.PathId linker,
@NonNull String... linkerArgs) {
mDevice = device;
mToolchain = toolchain;
mLinker = linker;
mLinkerArgs = linkerArgs;
}
开发者ID:tranleduy2000,项目名称:javaide,代码行数:11,代码来源:RenderScriptProcessor.java
示例18: RenderScriptProcessor
import com.android.sdklib.BuildToolInfo; //导入依赖的package包/类
public RenderScriptProcessor(
@NonNull List<File> inputs,
@NonNull List<File> importFolders,
@NonNull File buildFolder,
@NonNull File sourceOutputDir,
@NonNull File resOutputDir,
@NonNull File objOutputDir,
@NonNull File libOutputDir,
@NonNull BuildToolInfo buildToolInfo,
int targetApi,
boolean debugBuild,
int optimLevel,
boolean supportMode) {
mInputs = inputs;
mImportFolders = importFolders;
mBuildFolder = buildFolder;
mSourceOutputDir = sourceOutputDir;
mResOutputDir = resOutputDir;
mObjOutputDir = objOutputDir;
mLibOutputDir = libOutputDir;
mBuildToolInfo = buildToolInfo;
mTargetApi = targetApi;
mDebugBuild = debugBuild;
mOptimLevel = optimLevel;
mSupportMode = supportMode;
if (supportMode) {
File rs = new File(mBuildToolInfo.getLocation(), "renderscript");
mRsLib = new File(rs, "lib");
File bcFolder = new File(mRsLib, "bc");
for (Abi abi : ABIS) {
mLibClCore.put(abi.mDevice,
new File(bcFolder, abi.mDevice + File.separatorChar + "libclcore.bc"));
}
} else {
mRsLib = null;
}
}
开发者ID:tranleduy2000,项目名称:javaide,代码行数:39,代码来源:RenderScriptProcessor.java
示例19: createSupportObjFile
import com.android.sdklib.BuildToolInfo; //导入依赖的package包/类
private File createSupportObjFile(
@NonNull File bcFile,
@NonNull Abi abi,
@NonNull String objName,
@NonNull CommandLineLauncher launcher,
@NonNull Map<String, String> env) throws IOException, InterruptedException {
// make sure the dest folder exist
File abiFolder = new File(mObjOutputDir, abi.mDevice);
if (!abiFolder.isDirectory() && !abiFolder.mkdirs()) {
throw new IOException("Unable to create dir " + abiFolder.getAbsolutePath());
}
File exe = new File(mBuildToolInfo.getPath(BuildToolInfo.PathId.BCC_COMPAT));
List<String> args = Lists.newArrayListWithExpectedSize(10);
args.add("-O" + Integer.toString(mOptimLevel));
File outFile = new File(abiFolder, objName);
args.add("-o");
args.add(outFile.getAbsolutePath());
args.add("-fPIC");
args.add("-shared");
args.add("-rt-path");
args.add(mLibClCore.get(abi.mDevice).getAbsolutePath());
args.add("-mtriple");
args.add(abi.mToolchain);
args.add(bcFile.getAbsolutePath());
launcher.launch(exe, args, env);
return outFile;
}
开发者ID:tranleduy2000,项目名称:javaide,代码行数:40,代码来源:RenderScriptProcessor.java
示例20: getBuildTool
import com.android.sdklib.BuildToolInfo; //导入依赖的package包/类
@NonNull
public static File getBuildTool(
@NonNull Revision revision,
@NonNull BuildToolInfo.PathId pathId) {
FakeProgressIndicator progress = new FakeProgressIndicator();
BuildToolInfo buildToolInfo = AndroidSdkHandler.getInstance(findSdkDir())
.getBuildToolInfo(revision, progress);
if (buildToolInfo == null) {
throw new RuntimeException("Test requires build-tools " + revision.toString());
}
return new File(buildToolInfo.getPath(pathId));
}
开发者ID:apptik,项目名称:tarator,代码行数:13,代码来源:SdkHelper.java
注:本文中的com.android.sdklib.BuildToolInfo类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论