AdbHelper
public
final
class
AdbHelper
extends Object
| java.lang.Object
|
| ↳ |
com.android.tradefed.device.server.AdbHelper
|
adb'ye 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ş 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, 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
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
byte[]
|
formAdbRequest(String payloadString)
Önünde dört onaltılık rakam bulunan bir ASCII dizesi oluşturun.
|
static
String
|
getFeatures(IDevice device)
Cihazdaki desteklenen bir dizi özelliği 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şturup 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 çevirmeyi kaldırma.
|
static
void
|
root(InetSocketAddress adbSockAddr, IDevice device)
adb daemon'dan cihazda root olmasını isteyin.
|
static
void
|
setDevice(SocketChannel adbChan, String deviceSerialNumber)
adb'ye belirli bir cihazla iletişim kurmasını söyler.
|
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
|
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)
"Veri"deki 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:"
Alanlar
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önlendirmesinin 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: 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}" dizesini 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ı. Bağlantının ilk kullanılabilir cihaza yapılacağı durumda boş (null) veya boş olabilir. |
pid |
int: Bağlanılacak işlem kimliği. |
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. Biçim tcp:olmalıdır. |
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 yüklenecek 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: Tam komutun 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ğerlerinin birimleri.
değerleri. |
is |
InputStream: Komut çağrıldıktan sonra ve yanıt alınmadan önce yayınlanacak isteğe bağlı bir 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 yüklenecek 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ğerlerinin birimleri.
değerleri. |
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 yüklenecek 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 byte[] formAdbRequest (String payloadString)
Önünde dört onaltılık rakam bulunan 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 bir dizi özelliği sorgular.
| Parametreler |
device |
IDevice: Bağlantı noktası yönlendirmesinin 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şturup 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ı |
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. |
rawExec
public static SocketChannel rawExec (InetSocketAddress socketAddress,
IDevice device,
String executable,
String[] parameters)
Uzak bir cihazda host:exec hizmetini çağırın. Çalışan işleme bağlı bir soket kanalı döndürür. Exec 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 verilen parametreler |
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 gelmesini bekliyoruz. Aksi takdirde, teşhis dizesinin yalnızca BAŞARISIZ'ı takip etmesini bekleriz. |
| Verdiği hatalar |
TimeoutException |
Bağlantı zaman aşımına uğrarsa |
IOException |
bağlantıda G/Ç hatası olması durumunda |
yeniden başlatmak
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. tcp:biçiminde olmalıdır. |
removeReverse
public static void removeReverse (InetSocketAddress adbSockAddr,
IDevice device,
String remotePortSpec)
Uzak ve yerel bağlantı noktası arasında bağlantı noktası ters çevirmeyi kaldırma.
| 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ı öğrenmeniz 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,
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. |
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. |
write
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. |
| Verdiği hatalar |
TimeoutException |
Bağlantı zaman aşımına uğrarsa |
IOException |
bağlantıda G/Ç hatası olması durumunda |
write
public static void write (SocketChannel chan,
byte[] data)
"Veri"deki 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 işlemde varsayılan zaman aşımı değeri kullanılır.
| Parametreler |
chan |
SocketChannel: Yazılacak açık soket. |
data |
byte: gönderilecek arabellek. |
| Verdiği hatalar |
TimeoutException |
Bağlantı zaman aşımına uğrarsa |
IOException |
bağlantıda G/Ç hatası olması durumunda |