This Tasker plugin allows you to send a (series of) ADB Shell command(s) to a remote device (or the device itself) that has ADB over WiFi enabled.
This app obviously does need Tasker to work as it's a plugin (https://play.google.com/store/apps/details?id=net.dinglisch.android.taskerm, this is a paid app with a 7 days free trial). Again, without Tasker it WON'T WORK. Was I clear enough? Anyways...
On the target device you can do anything you would normally be able to do when using the terminal or ADB Shell of that device. This includes opening apps, moving files, simulating input et cetera (The sky is the limit and Google is your friend).
My app can be used as an action in Tasker and needs to be configured properly when added to a task to work.
NOTE:
- You can send multiple commands at once by separating them with a ";".
- All commands in a single action are automatically followed with an "exit" command so to close the ADB connection. This means that if you want to send multiple commands that are depending on each other, you will need to put them in a single Tasker action and separate them with ";".
- If you want multiple actions of my plugin to run after each other in a Tasker task, please keep the timeout set as is. Tasker will continue when the command is sent.
- The first time you try to connect to another device via ADB it will ask you if you trust the device. For this plugin to work correctly, you'll need to always "trust this computer".
- The output of the console can be viewed and reused from within Tasker. This can be done by accessing %output1, %output2 etc. or by iteration over %output() using a for loop.
- The plugin will generate two key files on your device to be able to make a secure ADB connection to the devices.
Now for some useful commands!
- A command I myself use a lot is to turn my ADB over WiFi enabled AndroidTV (Nvidia SHIELD) on or off by sending the command "input keyevent POWER", this simulates a power button press.
- Of course you can vary which key to press, for example to press the arrow keys you can do "input keyevent DPAD_RIGHT" or “…LEFT” etc.
- Another simple command is "reboot", which will, you guessed it, reboot the device! You can also put "reboot -p" here to power it down.
- A cool thing to be able to do is to launch apps on the device. You will have to Google a bit to find the Main activity of an app. This example will open Chrome on the device: "am start -n com.android.chrome/com.google.android.apps.chrome.Main".
- When you fill in “localhost” in the IP address field, every command will be executed on the device itself! This works even without root if you, of course, have ADB over WiFi enabled (can be activated from a pc using “adb tcpip 5555”).
Of course there are many other commands, the sky is the limit!
This is my first ever published app, so please leave feedback and submit bugs so I can try my best to fix them! Any tips are more than welcome!
The idea to create this app came from https://play.google.com/store/apps/details?id=com.cgutman.androidremotedebugger, which allows the user to connect to a remote device via an interface in the app itself. Please read the description of that app too, it contains some tips on enabling ADB over WiFi. I use the same AdbLib Java library in my app.
I use the AdbLib library found at https://github.com/cgutman/AdbLib and use https://github.com/cgutman/AdbLibTest as an example for how to use the library. I adapted this example to work with a given command and converted it to a Tasker plugin.
For help, you can email me or visit the XDA-Developers thread at https://forum.xda-developers.com/u/tasker-tips-tricks/plugin-remote-adb-shell-t3562013. This thread also contains some useful tips for accessing the local device running the task without root.
Now open source at https://github.com/Jolanrensen/ADBPlugin!
يسمح لك ملحق Tasker هذا بإرسال أمر (سلسلة) من أوامر ADB Shell إلى جهاز بعيد (أو الجهاز نفسه) الذي يمتلك ADB عبر WiFi.
من الواضح أن هذا التطبيق يحتاج إلى تاسكر للعمل كمكوّن إضافي (https://play.google.com/store/apps/details؟id=net.dinglisch.android.taskerm ، وهو تطبيق مدفوع يشتمل على إصدار تجريبي مجاني لمدة 7 أيام ). مرة أخرى ، دون تاسكر لن تعمل. هل كنت واضح بما فيه الكفاية؟ على أي حال...
على الجهاز المستهدف ، يمكنك القيام بأي شيء يمكنك القيام به عادةً عند استخدام الجهاز أو ADB Shell الخاص بهذا الجهاز. ويشمل ذلك فتح التطبيقات ، ونقل الملفات ، ومحاكاة المدخلات والميزات (السماء هي الحد ، وجوجل هو صديقك).
يمكن استخدام تطبيقي كإجراء في Tasker ويجب تكوينه بشكل صحيح عند إضافته إلى مهمة للعمل.
ملحوظة:
- يمكنك إرسال أوامر متعددة في وقت واحد عن طريق فصلها مع "؛".
- جميع الأوامر في إجراء واحد يتم اتباعها تلقائيًا بأمر "exit" حتى يتم إغلاق اتصال ADB. هذا يعني أنك إذا أردت إرسال أوامر متعددة تعتمد على بعضها البعض ، فستحتاج إلى وضعها في إجراء تاسكر واحد وفصلها مع "؛".
- إذا كنت تريد إجراء عدة إجراءات من المكون الإضافي ليتم تشغيلها بعد بعضها البعض في مهمة Tasker ، فالرجاء الاحتفاظ بفترة المهلة المحددة كما هي. سوف تستمر Tasker عند إرسال الأمر.
- في المرة الأولى التي تحاول فيها الاتصال بجهاز آخر عبر ADB ، سوف يسألك إذا كنت تثق في الجهاز. لكي يعمل هذا المكون الإضافي بشكل صحيح ، ستحتاج دائمًا إلى "الوثوق بهذا الكمبيوتر".
- يمكن عرض إخراج وحدة التحكم وإعادة استخدامها من داخل تاسكر. يمكن القيام بذلك عن طريق الوصول إلى٪ output1 ،٪ output2 إلخ أو عن طريق التكرار عبر٪ output () باستخدام حلقة for.
- سيعمل المكون الإضافي على إنشاء ملفين رئيسيين على جهازك ليتمكن من إنشاء اتصال ADB آمن بالأجهزة.
الآن لبعض الأوامر المفيدة!
- أمر أستخدمه بنفسي كثيرًا هو تشغيل ADB عبر WiFi تمكين AndroidTV (Nvidia SHIELD) أو إيقاف تشغيله عن طريق إرسال الأمر "POWER input key" ، فهذا يحاكي الضغط على زر الطاقة.
- بالطبع يمكنك تغيير أي مفتاح للضغط ، على سبيل المثال للضغط على مفاتيح الأسهم التي يمكنك القيام بها "input DPevent DPAD_RIGHT" أو "… LEFT" إلخ.
- أمر بسيط آخر هو "إعادة تشغيل" ، والتي ، كما خمنت ، إعادة تشغيل الجهاز! يمكنك أيضًا وضع "إعادة تمهيد - p" هنا لإيقاف تشغيله.
- الشيء الرائع الذي يمكنك فعله هو تشغيل التطبيقات على الجهاز. سيتعين عليك استخدام Google بعض الشيء للعثور على النشاط الرئيسي لأحد التطبيقات. سيؤدي هذا المثال إلى فتح Chrome على الجهاز: "am start -n com.android.chrome/com.google.android.apps.chrome.Main".
- عند ملء "localhost" في حقل عنوان IP ، سيتم تنفيذ كل أمر على الجهاز نفسه! هذا يعمل حتى بدون الجذر إذا كنت ، بالطبع ، قد تم تمكين ADB عبر WiFi (يمكن تنشيطه من جهاز كمبيوتر باستخدام "adb tcpip 5555").
بالطبع هناك العديد من الأوامر الأخرى ، السماء هي الحد!
هذا هو أول تطبيق تم نشره على الإطلاق ، لذا يرجى ترك الملاحظات وإرسال الأخطاء حتى أتمكن من بذل قصارى جهدي لإصلاحها! أي نصائح أكثر من موضع ترحيب!
جاءت فكرة إنشاء هذا التطبيق من https://play.google.com/store/apps/details؟id=com.cgutman.androidremotedebugger ، والذي يسمح للمستخدم بالاتصال بجهاز بعيد عبر واجهة في التطبيق نفسه. يرجى قراءة وصف هذا التطبيق أيضًا ، ويحتوي على بعض النصائح حول تمكين ADB عبر WiFi. أستخدم نفس مكتبة AdbLib Java في تطبيقي.
أستخدم مكتبة AdbLib الموجودة على https://github.com/cgutman/AdbLib واستخدم https://github.com/cgutman/AdbLibTest كمثال لكيفية استخدام المكتبة. أنا تكييف هذا المثال للعمل مع أمر معين وتحويله إلى البرنامج المساعد تاسكر.
للحصول على المساعدة ، يمكنك مراسلتي عبر البريد الإلكتروني أو زيارة الموضوع الخاص بـ XDA-Developers على https://forum.xda-developers.com/u/tasker-tips-tricks/plugin-remote-adb-shell-t3562013. يحتوي هذا الموضوع أيضًا على بعض النصائح المفيدة للوصول إلى الجهاز المحلي الذي يقوم بتشغيل المهمة بدون الجذر.
الآن مفتوحة المصدر في https://github.com/Jolanrensen/ADBPlugin!