Пример #1
0
String NDKBuild::MakeCmd() const
{
	String cmd = NormalizeExePath(path);
	if(!workingDir.IsEmpty())
		cmd << " -C " << workingDir;
	if(jobs > 0)
		cmd << " -j " << jobs;
	
	return cmd;
}
Пример #2
0
Vector<AndroidVirtualDevice> AndroidSDK::FindVirtualDevices() const
{
	Vector<AndroidVirtualDevice> avdes;
	
	String out;
	if(Sys(NormalizeExePath(AndroidPath()) + " list avd", out) == 0) {
		Vector<String> lines = Split(out, "\n");
		
		AndroidVirtualDevice avd;
		for(int i = 0; i < lines.GetCount(); i++) {
			Vector<String> line = Split(lines[i], ":");
			if(line.GetCount() == 2) {
				String tag  = line[0];
				String data = line[1];
				if(data.StartsWith(" "))
					data.Remove(0);
				if(tag.Find("Name") > -1) {
					if(!avd.GetName().IsEmpty() && avd.GetName() != data)
						avdes.Add(avd);
					avd.SetName(data);
				}
				else
				if(tag.Find("Device") > -1)
					avd.SetDeviceType(data);
				else
				if(tag.Find("Path") > -1)
					avd.SetPath(data);
				else
				if(tag.Find("Target") > -1)
					avd.SetTarget(data);
				else
				if(tag.Find("Tag/ABI") > -1)
					avd.SetAbi(data);
				
				// TODO: implement all possible tags
			}
		}
		
		if(!avd.GetName().IsEmpty())
			avdes.Add(avd);
	}
	
	return avdes;
}
Пример #3
0
Vector<AndroidDevice> AndroidSDK::FindDevices() const
{
	Vector<AndroidDevice> devices;
	
	String out;
	if(Sys(NormalizeExePath(AdbPath()) + " devices -l", out) == 0) {
		Vector<String> lines;
		Vector<String> outputLines = Split(out, "\n");
		for(int i = 0; i < outputLines.GetCount(); i++) {
			if(!outputLines[i].StartsWith("*") && !outputLines[i].StartsWith(" "))
				lines.Add(outputLines[i]);
		}
		
		for(int i = 1; i < lines.GetCount(); i++) {
			AndroidDevice device;
			
			Vector<String> elements = Split(lines[i], " ");
			for(int j = 0; j < elements.GetCount(); j++) {
				if(j == 0)
					device.SetSerial(elements[j]);
				else if(j == 1)
					device.SetState(elements[j]);
				else {
					Vector<String> element = Split(elements[j], ":");
					if(element.GetCount() == 2) {
						String tag  = element[0];
						String data = element[1];
						if(tag == "usb")
							device.SetUsb(data);
						else
						if(tag == "model")
							device.SetModel(data);
					}
				}
			}
			devices.Add(device);
		}
	}
	
	return devices;
}