Actually the sendevent differs from device to device. This is from my personal experience. If you are trying to simulate touch events, then you can use the concept of Instrumentation in Android. Show
So, you need to have a BroadcastReceiver that receives input touch co-ordinates from the adb shell. Below is the code for BroadcastReceiver which has the instrumentation code: public void onReceive(Context arg0, Intent i) { // TODO Auto-generated method stub //Toast.makeText(arg0, "Broadcast intent received...", Toast.LENGTH_SHORT).show(); String args=i.getStringExtra("vals"); String[] arr=args.split(" "); final int myVal1=Integer.parseInt(arr[0]); final int myVal2=Integer.parseInt(arr[1]); //Toast.makeText(arg0, "vals:"+args, Toast.LENGTH_SHORT).show(); //Toast.makeText(arg0, "myVal1="+myVal1+"\nmyVal2="+myVal2, Toast.LENGTH_SHORT).show(); Thread myThread=new Thread() { public void run() { Instrumentation myInst = new Instrumentation(); myInst.sendKeyDownUpSync( KeyEvent.KEYCODE_B ); myInst.sendPointerSync(MotionEvent.obtain(SystemClock.uptimeMillis(), SystemClock.uptimeMillis(),MotionEvent.ACTION_DOWN,myVal1, myVal2, 0)); myInst.sendPointerSync(MotionEvent.obtain(SystemClock.uptimeMillis(), SystemClock.uptimeMillis(),MotionEvent.ACTION_UP,myVal1, myVal2, 0)); }; }; myThread.start(); }You need to register your BroadcastReceiver in you manifest as shown below: <receiver android:name="MyReceiver" android:exported="true"> <intent-filter> <action android:name="android.intent.action.VIEW" /> </intent-filter> </receiver>Once your app is up, connect your device in debug mode, in the command prompt, put the following command: adb shell am broadcast --es vals "10 20" -n com.pkgName.appName/com.pkgName.appName.MyReceiverThe above command will trigger the BroadcstReceiver of your application, and a touch will be simulated at co-ordinates (10,20). You can replace it with the values you want. Note: If the app is minimized, and you are trying to simulate the touch events, the app will force close, as the android developers have restricted this future, as it can be easily misused by hackers.
ADB kependekan dari (Android Debug Bridge) yang berfungsi sebagai jembatan antara Perangkat android dan komputer untuk menjalankan perintah perintah tertentu biasanya perintah perintah tersebut dijalankan melalui baris perintah (cli) dan juga tersedia adb dalam paket grafis GUI Perintah penggunaan adb <command> untuk Perintah/command adb yang digunakan:
sebagai contoh saya akan melihat daftar perangkat yang terhubung dengan adb devices dengan cara adb devices maka muncul seperti ini List of devices attached 192.168.1.170:5555 device Cara install adb dan fastboot tools di debian 18.04 / 20.04
sudo apt update && sudo apt install android-tools-adb android-tools-fastboot
adb version berikut hasil dari perintah adb version di komputer saya Android Debug Bridge version 1.0.39 Version 1:8.1.0+r23-5 Installed as /usr/lib/android-sdk/platform-tools/adb Menghidupakan Mode PengembangUntuk menghubungakan komputer ke android dengan adb sebelumnya harus menghidupkan usb debugging di menu pengembang di android anda yang mana menu pengembang ini secara bawaan tidak tampil alias tersembunyi, maka kita bisa menampilakannya dengan mengklik-klik beberapa kali pada “Build version” di menu About/tentang ponsel, perbedaan merk serta vendor sedikit berbeda untuk mengaktifkan menu pengembang ini, akan tetapi secara umum bisa mengikuti langkah langkah berikut:
Menghubungkan android ke komputer (adb) dengan kabel USBApabila anda sudah menjalankan langkah diatas dan sudah menghidupakan menu pengembang silahkan ambil kabel USB disarankan memakai kabel USB original kalau ada. Lalu hubungkan android ke komputer anda melalui port USB yang tersedia. Apabila sudah tersambung silahkan cek andoid anda nanti akan muncul konfirmasi untuk meilih salahsatu pilihan. Klik saja pada bagian “Transfer file” apabila ada peringatan lagi tentang fingerprint klik saja OK. Di komputer buka terminal lalu ketikkan perintah adb devices apabila muncul nama perangkat android anda selamat anda sudah bisa menggunakan adb Menghubungkan android (adb) dengan jaringan WIFISelain dengan kabel usb kita juga bisa menjalankan perintah adb dari komputer dengan melalui wifi dengan syarat mengguakan jarigan wifi yang sama Nah untuk menghubungkan dengan wifi ini untuk pertama kalinya kita harus terhubung dulu adb dengan kabel data USB seperti diatas, untuk selanjutkanya kita bisa mencopot kabel data USB dan menjalankannya secara wireless lewat wifi. Silahkan anda ikuti langkah diatas Menghubungkan android dengan kabel USB apabila sudah terkonek silahkan lanjutkan perintah di bawah
adb tcpip 5555
adb connect 192.168.1.170
adb devices
adb connect 192.168.1.170
Menghubungkan android (adb) dengan jaringan WIFI [ROOT]Nah untuk koneksi adb melalui wifi bisa juga tanpa kabel USB sama sekali asalkan perangkat andoid sudah dalam keadaan ROOT, simak caranya dibawah
su
setprop service.adb.tcp.port 5555 stop adbd start adbd
adb connect 192.168.1.170
Berkirim file dari android ke komputer atau sebaliknya dengan ADBSelain dengan adb cara yang paling mudah adalah dengan drag/drop untuk kirim file android ke kompuer atau sebaliknya yaitu dngan masuk ke File manager komputer maka akan muncul android anda terdeteksi sebagai media penyimpanan masal. Nah disini berhubung pembahasan dalam adb maka saya akan mebahasnya sekalian disini
adb push ~/Desktop/file_gambar.jpg /storage/emulated/0 Keterangan ~/Desktop/file_gambar.jpg adalah file yang akan dikirim dari komputer /storage/emulated/0 folder tujuan di android ini sbg contoh berarti penyimpanan internal
adb pull /storage/emulated/0/DCIM/IMG_00001.jpg ~/Desktop/ Keterangan ~/Desktop/ adalah folder penyimpanan tujuan di komputer /storage/emulated/0/DCIM/IMG_00001.jpg file di android ini sbg contoh ini file gambar di forder DCIM di penyimpanan internal Perintah adb lainnya yang sering saya gunakan
untuk mengambil file mentahan apk anda harus tau dulu nama package dari aplikasi yang akan diambil. Misal apk gojek mempunyai nama package com.gojek.app, facebook com.facebook.katana nah baru kita bisa mengambil file mentahan apk tersebut dengan dua perintah ini
adb shell pm path com.gojek.app hasilnya; package:/data/app/com.gojek.app-dqeVlpNANON8i0ovEAfcYg==/base.apk warna merah adalah letak file apknya.
adb pull /data/app/com.gojek.app-dqeVlpNANON8i0ovEAfcYg==/base.apk ~/Desktop Silahkan anda cari lagi perintah perintah adb lainnya dengan perintahnya adb help FastbootFastboot adalah sebuah protokol biasanya tergabung dalam paket android-sdk-tools yang digunakan untuk modifikasi file system flash melalui koneksi USB dari komputer host. Beberapa perintah fastboot yang sering digunakan adalah:
Perintah fastboot biasanya digunakan oleh para opreker/modifikasi android untuk memasang Custom recovery misal TWRP atau CWM dll Untuk masuk ke mode fastboot sobat bisa menggunakan perintah adb reboot fastboot (dengan syarat sudah terkoneksi adb sebelumnya) maka android akan masuk ke mode fastboot dan siap untuk menerima perintah diatas. Mode fastboot ini hanya bisa tersambung dengan kabel USB saja selain itu anda juga bisa masuk ke mode fastboot dengan cara menekan kombinasi tombol power dan volume secara bersamaan maka beberapa saat akan masuk ke mode fastboot sebagai contoh perintah yang biasa digunakan untuk mengganti recovery bawan dengan custom recovery. File img custom recovery bisa didapat sesuai merk serta vendor perangkat yang anda gunakan, bisa di download di situs xda atau ditempat lain. fastboot flash recovery recovery-file.img hati-hati perintah diatas hanya untuk user yang sudah berpengalaman kesalahan dalam pengoperasian bisa menyebabkan android sobat mati total untuk pembahasan fastboot saya hanya sedikit saja karena perintah ini jarang digunakan oleh pengguna biasa. Hanya untuk pengguna advance dan sudah berpengalaman. |