AdbHelper
public
final
class
AdbHelper
extends Object
| java.lang.Object
|
| ↳ |
com.android.tradefed.device.server.AdbHelper
|
adb'ye yönelik istekleri ve bağlantıları işlemek için yardımcı sınıf.
AndroidDebugBridge, adb'ye bağlanmak için kullanılan herkese açık API'dir. AdbHelper ise düşük seviyeli işlemleri yapar.
Bu, şu anda engellemeyen G/Ç için bekleme döngüsü kullanıyor. Bir seçici daha verimli olurdu ancak burada yaptığımız işlem için gereksiz gibi görünüyor.
Özet
Herkese açık yöntemler |
static
void
|
createForward(InetSocketAddress adbSockAddr, IDevice device, String localPortSpec, String remotePortSpec)
Yerel ve uzak bağlantı noktası arasında bağlantı noktası yönlendirme oluşturur.
|
static
AdbCommandRejectedException
|
createHiddenException(String message, boolean errorDuringDeviceSelection)
|
static
AdbCommandRejectedException
|
createHiddenException(String message)
|
static
byte[]
|
createJdwpForwardRequest(int pid)
Bir jdwp işlemi için bağlantı noktası yönlendirme isteği oluşturur.
|
static
SocketChannel
|
createPassThroughConnection(InetSocketAddress adbSockAddr, String deviceSerialNumber, int pid)
Ana makineden cihazdaki bir bağlantı noktasına yeni bir geçiş soketi oluşturur ve bağlar.
|
static
void
|
createReverse(InetSocketAddress adbSockAddr, IDevice device, String remotePortSpec, String localPortSpec)
Uzak ve yerel bağlantı noktası arasında bağlantı noktası ters çevirme oluşturur.
|
static
void
|
executeRemoteCommand(InetSocketAddress adbSockAddr, String command, IDevice device, IShellOutputReceiver rcvr, long maxTimeToOutputResponse, TimeUnit maxTimeUnits)
Cihazda bir kabuk komutu yürütür ve çıkışı alır.
|
static
void
|
executeRemoteCommand(InetSocketAddress adbSockAddr, AdbHelper.AdbService adbService, String command, IDevice device, IShellOutputReceiver rcvr, long maxTimeout, long maxTimeToOutputResponse, TimeUnit maxTimeUnits, InputStream is)
Cihazda uzaktan komut yürütür ve çıkışı alır.
|
static
void
|
executeRemoteCommand(InetSocketAddress adbSockAddr, String command, IDevice device, IShellOutputReceiver rcvr, long maxTimeout, long maxTimeToOutputResponse, TimeUnit maxTimeUnits)
Cihazda bir kabuk komutu yürütür ve çıkışı alır.
|
static
byte[]
|
formAdbRequest(String payloadString)
Dört onaltılık rakamla başlayan bir ASCII dizesi oluşturun.
|
static
String
|
getFeatures(IDevice device)
Cihazdaki desteklenen özellikler grubunu sorgular.
|
static
RawImage
|
getFrameBuffer(InetSocketAddress adbSockAddr, IDevice device, long timeout, TimeUnit unit)
Belirtilen zaman aşımıyla cihazdan çerçeve arabelleğini alın.
|
static
String
|
getHostFeatures()
ADB ana makinesinden bir dizi desteklenen özelliği sorgular.
|
static
SocketChannel
|
open(InetSocketAddress adbSockAddr, IDevice device, int devicePort)
Ana makineden cihazdaki bir porta yeni bir geçiş soketi oluşturun ve bağlayın.
|
static
SocketChannel
|
rawAdbService(InetSocketAddress socketAddress, IDevice device, String command, AdbHelper.AdbService service)
Hizmeti uzak bir cihazda çağırma
|
static
SocketChannel
|
rawExec(InetSocketAddress socketAddress, IDevice device, String executable, String[] parameters)
Uzak bir cihazda host:exec hizmetini çağırın.
|
static
AdbHelper.AdbResponse
|
readAdbResponse(SocketChannel chan, boolean readDiagString)
Bir komuttan sonra ADB'den gelen yanıtı okur.
|
static
void
|
reboot(String into, InetSocketAddress adbSockAddr, IDevice device)
Cihazı yeniden başlatın.
|
static
void
|
removeForward(InetSocketAddress adbSockAddr, IDevice device, String localPortSpec)
Yerel ve uzak bağlantı noktası arasındaki bağlantı noktası yönlendirmesini kaldırın.
|
static
void
|
removeReverse(InetSocketAddress adbSockAddr, IDevice device, String remotePortSpec)
Uzak ve yerel bağlantı noktası arasında bağlantı noktası ters çevirme işlemini kaldırın.
|
static
void
|
root(InetSocketAddress adbSockAddr, IDevice device)
adb daemon'dan cihazda root olmasını isteyin.
|
static
void
|
setDevice(SocketChannel adbChan, IDevice device)
IDevice verildiğinde seri numarasını alın ve adb'ye bu cihazla iletişim kurmasını söyleyin.
|
static
void
|
setDevice(SocketChannel adbChan, String deviceSerialNumber)
adb'ye belirli bir cihazla iletişim kurmasını söyler.
|
static
void
|
write(SocketChannel chan, byte[] data, int length, int timeout)
"Veri"deki tüm veriler yazılana, isteğe bağlı uzunluğa ulaşılana, zaman aşımı süresi dolana veya bağlantı başarısız olana kadar yazın.
|
static
void
|
write(SocketChannel chan, byte[] data)
"data" içindeki tüm veriler yazılana veya bağlantı başarısız olana ya da zaman aşımına uğrayana kadar yazın.
|
Sabitler
HOST_TRANSPORT
public static final String HOST_TRANSPORT
Sabit Değer:
"host:transport:"
Fields'ın oynadığı filmler
DEFAULT_CHARSET
public static final Charset DEFAULT_CHARSET
Herkese açık yöntemler
createForward
public static void createForward (InetSocketAddress adbSockAddr,
IDevice device,
String localPortSpec,
String remotePortSpec)
Yerel ve uzak bağlantı noktası arasında bağlantı noktası yönlendirme oluşturur.
| Parametreler |
adbSockAddr |
InetSocketAddress: adb'ye bağlanılacak soket adresi |
device |
IDevice: Bağlantı noktası yönlendirmenin yapılacağı cihaz |
localPortSpec |
String: Yönlendirilecek yerel bağlantı noktasının belirtilmesi gerekir. Biçim şu olmalıdır:
tcp: |
remotePortSpec |
String: Yönlendirilecek uzak bağlantı noktasının belirtilmesi. Şunlardan biri olmalıdır: tcp:
localabstract: localreserved:
localfilesystem: dev: jdwp:
(yalnızca uzak) |
createHiddenException
public static AdbCommandRejectedException createHiddenException (String message,
boolean errorDuringDeviceSelection)
| Parametreler |
message |
String |
errorDuringDeviceSelection |
boolean |
createJdwpForwardRequest
public static byte[] createJdwpForwardRequest (int pid)
Bir jdwp işlemi için bağlantı noktası yönlendirme isteği oluşturur. Bu işlev, "####jwdp:{pid}" içeren bir dizi döndürür.
| Parametreler |
pid |
int: Cihazdaki jdwp işlemi pid'si. |
createPassThroughConnection
public static SocketChannel createPassThroughConnection (InetSocketAddress adbSockAddr,
String deviceSerialNumber,
int pid)
Ana makineden cihazdaki bir bağlantı noktasına yeni bir geçiş soketi oluşturur ve bağlar.
| Parametreler |
deviceSerialNumber |
String: Bağlanılacak cihazın seri numarası. Boş olabilir. Bu durumda bağlantı, mevcut ilk cihaza yapılır. |
pid |
int: Bağlanılacak işlem PID'si. |
| İlerlemeler |
SocketChannel |
|
createReverse
public static void createReverse (InetSocketAddress adbSockAddr,
IDevice device,
String remotePortSpec,
String localPortSpec)
Uzak ve yerel bağlantı noktası arasında bağlantı noktası ters çevirme oluşturur.
| Parametreler |
adbSockAddr |
InetSocketAddress: adb'ye bağlanılacak soket adresi |
device |
IDevice: bağlantı noktası ters çevirme işleminin yapılacağı cihaz |
remotePortSpec |
String: Tersine çevrilecek uzak bağlantı noktasının belirtimi. Şunlardan biri olmalıdır: tcp:
localabstract: localreserved:
localfilesystem: dev: jdwp:
(yalnızca uzak) |
localPortSpec |
String: Yerel bağlantı noktasının belirtilmesi gerekir. tcp:biçiminde olmalıdır. |
executeRemoteCommand
public static void executeRemoteCommand (InetSocketAddress adbSockAddr,
String command,
IDevice device,
IShellOutputReceiver rcvr,
long maxTimeToOutputResponse,
TimeUnit maxTimeUnits)
Cihazda bir kabuk komutu yürütür ve çıkışı alır. Çıkış, rcvr'ya gelir gelmez teslim edilir.
| Parametreler |
adbSockAddr |
InetSocketAddress: adb'ye ERROR(/InetSocketAddress). |
command |
String: Yürütülecek kabuk komutu |
device |
IDevice: Komutun yürütüleceği IDevice. |
rcvr |
IShellOutputReceiver: Kabuk komutunun çıkışını alacak IShellOutputReceiver |
maxTimeToOutputResponse |
long: Komut çıkışı arasındaki maksimum süre. Komut çıkışı arasında daha fazla zaman geçerse yöntem ShellCommandUnresponsiveException oluşturur. 0 değeri, yöntemin komut çıktısı için süresiz olarak bekleyeceği ve hiçbir zaman hata vermeyeceği anlamına gelir. |
maxTimeUnits |
TimeUnit: Sıfır olmayan maxTimeToOutputResponse değerleri için birimler. |
public static void executeRemoteCommand (InetSocketAddress adbSockAddr,
AdbHelper.AdbService adbService,
String command,
IDevice device,
IShellOutputReceiver rcvr,
long maxTimeout,
long maxTimeToOutputResponse,
TimeUnit maxTimeUnits,
InputStream is)
Cihazda uzaktan komut yürütür ve çıkışı alır. Çıkış, rcvr'ya gelir gelmez teslim edilir. Komut, adbService parametresiyle tanımlanan uzak hizmet tarafından yürütülür.
| Parametreler |
adbSockAddr |
InetSocketAddress: adb'ye ERROR(/InetSocketAddress). |
adbService |
AdbHelper.AdbService: Komutu çalıştırmak için kullanılacak AdbHelper.AdbService. |
command |
String: Yürütülecek kabuk komutu |
device |
IDevice: Komutun yürütüleceği IDevice. |
rcvr |
IShellOutputReceiver: Kabuk komutunun çıkışını alacak IShellOutputReceiver |
maxTimeout |
long: Komutun tamamının yürütülmesi için maksimum zaman aşımı. 0 değeri, zaman aşımı olmadığını gösterir. |
maxTimeToOutputResponse |
long: Komut çıkışı arasındaki maksimum süre. Komut çıkışı arasında daha fazla zaman geçerse yöntem ShellCommandUnresponsiveException oluşturur. 0 değeri, yöntemin komut çıktısı için süresiz olarak bekleyeceği ve hiçbir zaman hata vermeyeceği anlamına gelir. |
maxTimeUnits |
TimeUnit: Sıfır olmayan maxTimeout ve maxTimeToOutputResponse değerleri için birimler. |
is |
InputStream: Komut çağrıldıktan sonra ve yanıt alınmadan önce yayınlanacak isteğe bağlı bir ERROR(/InputStream). |
executeRemoteCommand
public static void executeRemoteCommand (InetSocketAddress adbSockAddr,
String command,
IDevice device,
IShellOutputReceiver rcvr,
long maxTimeout,
long maxTimeToOutputResponse,
TimeUnit maxTimeUnits)
Cihazda bir kabuk komutu yürütür ve çıkışı alır. Çıkış, rcvr'ya gelir gelmez teslim edilir.
| Parametreler |
adbSockAddr |
InetSocketAddress: adb'ye ERROR(/InetSocketAddress). |
command |
String: Yürütülecek kabuk komutu |
device |
IDevice: Komutun yürütüleceği IDevice. |
rcvr |
IShellOutputReceiver: Kabuk komutunun çıkışını alacak IShellOutputReceiver |
maxTimeout |
long: Komutun geri dönmesi için maksimum süre. 0 değeri, maksimum zaman aşımının uygulanmayacağı anlamına gelir. |
maxTimeToOutputResponse |
long: Komut çıkışı arasındaki maksimum süre. Komut çıkışı arasında daha fazla zaman geçerse yöntem ShellCommandUnresponsiveException oluşturur. 0 değeri, yöntemin komut çıktısı için süresiz olarak bekleyeceği ve hiçbir zaman hata vermeyeceği anlamına gelir. |
maxTimeUnits |
TimeUnit: Sıfır olmayan maxTimeout ve maxTimeToOutputResponse değerleri için birimler. |
public static byte[] formAdbRequest (String payloadString)
Dört onaltılık rakamla başlayan bir ASCII dizesi oluşturun. Baştaki "####", dizenin geri kalan kısmının uzunluğudur ve ASCII onaltılık olarak kodlanır (büyük/küçük harf duyarlı değildir).
| Parametreler |
payloadString |
String |
getFeatures
public static String getFeatures (IDevice device)
Cihazdaki desteklenen özellikler grubunu sorgular.
| Parametreler |
device |
IDevice: Bağlantı noktası yönlendirmenin yapılacağı cihaz |
getFrameBuffer
public static RawImage getFrameBuffer (InetSocketAddress adbSockAddr,
IDevice device,
long timeout,
TimeUnit unit)
Belirtilen zaman aşımıyla cihazdan çerçeve arabelleğini alın. 0 zaman aşımı değeri, sonsuza kadar bekleneceği anlamına gelir.
| Parametreler |
adbSockAddr |
InetSocketAddress |
device |
IDevice |
timeout |
long |
unit |
TimeUnit |
getHostFeatures
public static String getHostFeatures ()
ADB ana makinesinden bir dizi desteklenen özelliği sorgular.
açma
public static SocketChannel open (InetSocketAddress adbSockAddr,
IDevice device,
int devicePort)
Ana makineden cihazdaki bir porta yeni bir geçiş soketi oluşturun ve bağlayın.
| Parametreler |
device |
IDevice: bağlanılacak cihaz. Boş olabilir. Bu durumda bağlantı, ilk kullanılabilir cihaza yapılır. |
devicePort |
int: açtığımız bağlantı noktası |
| İlerlemeler |
SocketChannel |
|
rawAdbService
public static SocketChannel rawAdbService (InetSocketAddress socketAddress,
IDevice device,
String command,
AdbHelper.AdbService service)
Hizmeti uzak bir cihazda çağırma Yürütülen işleme bağlı bir soket kanalı döndürür.
ddlmib, döndürülen SocketChannel'ın sahipliğini bırakır ve kullanımdan sonra açıkça kapatılması gerekir.
| Parametreler |
device |
IDevice: bağlanılacak cihaz. Boş olabilir. Bu durumda bağlantı, ilk kullanılabilir cihaza yapılır. |
command |
String: Yürütülecek komut |
service |
AdbHelper.AdbService: Komutu çalıştırmak için kullanılacak AdbHelper.AdbService. |
| İlerlemeler |
SocketChannel |
|
rawExec
public static SocketChannel rawExec (InetSocketAddress socketAddress,
IDevice device,
String executable,
String[] parameters)
Uzak bir cihazda host:exec hizmetini çağırın. Yürütülen işleme bağlı bir soket kanalı döndürür. Yürütme hizmetinin stdout ve stderr arasında ayrım yapmadığını unutmayın. Bu nedenle, soketten okunan her şey çıkışlardan gelebilir ve araya girebilir.
ddlmib, döndürülen SocketChannel'ın sahipliğini bırakır ve kullanımdan sonra açıkça kapatılması gerekir.
| Parametreler |
device |
IDevice: bağlanılacak cihaz. Boş olabilir. Bu durumda bağlantı, ilk kullanılabilir cihaza yapılır. |
executable |
String: Çalıştırılacak yürütülebilir dosyanın mutlak yolu |
parameters |
String: Yürütülebilir dosya yürütüldüğünde verilecek parametreler |
| İlerlemeler |
SocketChannel |
|
readAdbResponse
public static AdbHelper.AdbResponse readAdbResponse (SocketChannel chan,
boolean readDiagString)
Bir komuttan sonra ADB'den gelen yanıtı okur.
| Parametreler |
chan |
SocketChannel: adb'ye bağlı olan soket kanalı. |
readDiagString |
boolean: Doğruysa OKAY yanıtının ardından bir teşhis dizesi gönderilmesini bekliyoruz. Aksi takdirde, teşhis dizesinin yalnızca FAIL'i takip etmesini bekleriz. |
| Dekoratif yastıklar |
TimeoutException |
Bağlantı zaman aşımına uğrarsa |
|
bağlantıda G/Ç hatası olması durumunda |
tekrar başlat
public static void reboot (String into,
InetSocketAddress adbSockAddr,
IDevice device)
Cihazı yeniden başlatın.
| Parametreler |
into |
String: Hangi modda yeniden başlatılacağı (kurtarma, önyükleyici). Yalnızca yeniden başlatmak için null. |
adbSockAddr |
InetSocketAddress |
device |
IDevice |
removeForward
public static void removeForward (InetSocketAddress adbSockAddr,
IDevice device,
String localPortSpec)
Yerel ve uzak bağlantı noktası arasındaki bağlantı noktası yönlendirmesini kaldırın.
| Parametreler |
adbSockAddr |
InetSocketAddress: adb'ye bağlanılacak soket adresi |
device |
IDevice: Bağlantı noktası yönlendirmenin kaldırılacağı cihaz |
localPortSpec |
String: Yönlendirilen yerel bağlantı noktasının belirtilmesi gerekir. Biçim şu şekilde olmalıdır:
tcp: |
removeReverse
public static void removeReverse (InetSocketAddress adbSockAddr,
IDevice device,
String remotePortSpec)
Uzak ve yerel bağlantı noktası arasında bağlantı noktası ters çevirme işlemini kaldırın.
| Parametreler |
adbSockAddr |
InetSocketAddress: adb'ye bağlanılacak soket adresi |
device |
IDevice: bağlantı noktası ters çevirme işleminin kaldırılacağı cihaz |
remotePortSpec |
String: Uzak bağlantı noktasının tersine çevrilmiş belirtimi. Şunlardan biri: tcp:
localabstract: localreserved:
localfilesystem: dev: jdwp:
(yalnızca uzak) |
kök
public static void root (InetSocketAddress adbSockAddr,
IDevice device)
adb daemon'dan cihazda root olmasını isteyin. Bu işlem sessizce başarısız olabilir ve yalnızca geliştirici derlemelerinde başarılı olabilir. Daha fazla bilgi için "adb root" konusuna bakın. Başarılı olup olmadığını bilmeniz gerekiyorsa "echo \$USER_ID" üzerinde executeRemoteCommand'ın sonucunu kontrol edebilirsiniz. Sonuç 0 ise adbd kök olarak çalışıyordur.
| Parametreler |
adbSockAddr |
InetSocketAddress |
device |
IDevice |
setDevice
public static void setDevice (SocketChannel adbChan,
IDevice device)
IDevice verildiğinde seri numarasını alın ve adb'ye bu cihazla iletişim kurmasını söyleyin.
| Parametreler |
adbChan |
SocketChannel: adb'ye soket bağlantısı. |
device |
IDevice: Konuşulacak cihaz. |
setDevice
public static void setDevice (SocketChannel adbChan,
String deviceSerialNumber)
adb'ye belirli bir cihazla iletişim kurmasını söyler.
| Parametreler |
adbChan |
SocketChannel: adb'ye soket bağlantısı |
deviceSerialNumber |
String: Konuşulacak cihazın seri numarası. Null ise varsayılan olarak seçilen cihaz, adb tarafından seçilen cihazdır. |
yardım et
public static void write (SocketChannel chan,
byte[] data,
int length,
int timeout)
"Veri"deki tüm veriler yazılana, isteğe bağlı uzunluğa ulaşılana, zaman aşımı süresi dolana veya bağlantı başarısız olana kadar yazın. Tüm veriler yazıldıysa "true" değerini döndürür.
| Parametreler |
chan |
SocketChannel: Yazılacak açık soket. |
data |
byte: Gönderilecek arabellek. |
length |
int: Yazılacak uzunluk veya arabelleğin tamamını göndermek için -1. |
timeout |
int: Zaman aşımı değeri. Sıfır zaman aşımı, "süresiz bekle" anlamına gelir. |
| Dekoratif yastıklar |
TimeoutException |
Bağlantı zaman aşımına uğrarsa |
|
bağlantıda G/Ç hatası olması durumunda |
yardım et
public static void write (SocketChannel chan,
byte[] data)
"data" içindeki tüm veriler yazılana veya bağlantı başarısız olana ya da zaman aşımına uğrayana kadar yazın.
Bu, varsayılan zaman aşımı değerini kullanır.
| Parametreler |
chan |
SocketChannel: Yazılacak açık soket. |
data |
byte: Gönderilecek arabellek. |
| Dekoratif yastıklar |
TimeoutException |
Bağlantı zaman aşımına uğrarsa |
|
bağlantıda G/Ç hatası olması durumunda |