जवाबों:
adb shell
am start -n com.package.name/com.package.name.ActivityName
या आप इसे सीधे उपयोग कर सकते हैं:
adb shell am start -n com.package.name/com.package.name.ActivityName
आप अपने इरादे-फ़िल्टर द्वारा फ़िल्टर की जाने वाली क्रियाएं भी निर्दिष्ट कर सकते हैं:
am start -a com.example.ACTION_NAME -n com.package.name/com.package.name.ActivityName
function androidrun(){ ant clean debug adb shell am start -n $1/$1.MainActivity }
और इसका उपयोग होandroidrun com.example.test
adb logcat | grep --line-buffered ActivityManager | grep --line-buffered
का उपयोग उन सभी अनुप्रयोगों को सूचीबद्ध करने के लिए किया था जो प्रदर्शित किए गए थे।
इस पैटर्न का पालन करके केवल बंदर टूल का उपयोग करके एप्लिकेशन निर्दिष्ट पैकेज नाम चलाना संभव है :
adb shell monkey -p your.app.package.name -c android.intent.category.LAUNCHER 1
बंदर टूल का उपयोग करके ऐप चलाने के लिए कमांड का उपयोग किया जाता है जो एप्लिकेशन के लिए यादृच्छिक इनपुट उत्पन्न करता है। कमांड का अंतिम भाग पूर्णांक है जो ऐप के लिए उत्पन्न यादृच्छिक इनपुट की संख्या निर्दिष्ट करता है। इस स्थिति में संख्या 1 है, जिसका उपयोग वास्तव में ऐप लॉन्च करने के लिए किया जाता है (आइकन क्लिक)।
adb shell monkey -p your.app.package.name 1
adb shell am startservice com.some.package.name/.YourServiceSubClassName
यहाँ देखें: stackoverflow.com/a/18703083/211292
या, आप इसका उपयोग कर सकते हैं:
adb shell am start -n com.package.name/.ActivityName
monkey -p com.package.name 1
के माध्यम सेadb shell
linux / mac उपयोगकर्ता निम्न के साथ कुछ के साथ एक apk चलाने के लिए एक स्क्रिप्ट भी बना सकते हैं:
इन 3 पंक्तियों के साथ "adb-run.sh" नामक एक फ़ाइल बनाएँ:
pkg=$(aapt dump badging $1|awk -F" " '/package/ {print $2}'|awk -F"'" '/name=/ {print $2}')
act=$(aapt dump badging $1|awk -F" " '/launchable-activity/ {print $2}'|awk -F"'" '/name=/ {print $2}')
adb shell am start -n $pkg/$act
फिर इसे निष्पादित करने के लिए "chmod + x adb-run.sh"।
अब आप बस:
adb-run.sh myapp.apk
यहां लाभ यह है कि आपको पैकेज का नाम या प्रशंसनीय गतिविधि नाम जानने की आवश्यकता नहीं है। इसी तरह, आप "adb-uninstall.sh myapp.apk" बना सकते हैं
नोट: इसके लिए आवश्यक है कि आप अपने मार्ग में उपयुक्त हैं। आप इसे SDK में नए बिल्ड टूल फ़ोल्डर के तहत पा सकते हैं।
इसके अलावा, मैं एक और बात का उल्लेख करना चाहता हूं।
जब आप किसी एप्लिकेशन को प्रारंभ करते हैं adb shell am
, तो यह स्वचालित रूप से FLAG_ACTIVITY_NEW_TASK ध्वज जोड़ता है जो व्यवहार परिवर्तन करता है। कोड देखें ।
उदाहरण के लिए, यदि आप Play Store गतिविधि लॉन्च करते हैं, तो adb shell am
' बैक ' बटन (हार्डवेयर बैक बटन) दबाने से आप अपना ऐप नहीं ले पाएंगे, इसके बजाय यह आपको पिछली प्ले स्टोर गतिविधि में ले जाएगा यदि कुछ था (यदि प्ले स्टोर कार्य नहीं था , तो यह आपको अपना ऐप ले जाएगा)। FLAG_ACTIVITY_NEW_TASK दस्तावेज़ कहते हैं:
यदि कोई कार्य पहले से चल रही गतिविधि के लिए चल रहा है, तो एक नई गतिविधि शुरू नहीं की जाएगी; इसके बजाय, वर्तमान कार्य को केवल उस स्क्रीन के सामने लाया जाएगा जिस अवस्था में यह अंतिम था
इसने मुझे कुछ घंटे बिताने के लिए पता लगाया कि क्या गलत हुआ।
इसलिए, ध्यान रखें कि adb shell am
FLAG_ACTIVITY_NEW_TASK ध्वज जोड़ें ।
हम आवेदन के प्रकार को जानकर और उसे डेटा के साथ फीड करके भी शुरू कर सकते हैं:
adb shell am start -d "file:///sdcard/sample.3gp" -t "video/3gp" -a android.intent.action.VIEW
यह आदेश नमूना .gp फ़ाइल चलाने के लिए उपलब्ध वीडियो प्लेयर प्रदर्शित करता है
चरण 1: सबसे पहले अपने डिवाइस में इंस्टॉल किए गए ऐप्स के सभी पैकेज नाम प्राप्त करें, जिनका उपयोग करके:
adb shell pm list packages
चरण 2: आपको सभी पैकेज नाम मिल जाएंगे, आप जिसे एडीबी का उपयोग करना शुरू करना चाहते हैं उसे कॉपी करें।
चरण 3: नीचे दिए गए कमांड में अपना वांछित पैकेज नाम जोड़ें।
adb shell monkey -p 'your package name' -v 500
उदाहरण के लिए:
adb shell monkey -p com.estrongs.android.pop -v 500
Es एक्सप्लोरर शुरू करने के लिए।
खोलें ~ / .bash_profile और फ़ाइल के अंत में ये बैश फ़ंक्शंस जोड़ें
function androidinstall(){
adb install -r ./bin/$1.apk
}
function androidrun(){
ant clean debug
adb shell am start -n $1/$1.$2
}
फिर Android प्रोजेक्ट फ़ोल्डर खोलें
androidinstall app-debug && androidrun com.example.app MainActivity
app-debug
करता है?
monkey --pct-syskeys 0
विकास बोर्डों के लिए
इस तर्क के बिना, ऐप कुंजियों / प्रदर्शन के बिना एक विकास बोर्ड पर नहीं खुलेगा:
adb shell monkey --pct-syskeys 0 -p com.cirosantilli.android_cheat.textviewbold 1
और त्रुटि के साथ विफल रहता है:
SYS_KEYS has no physical keys but with factor 2.0%
HiKey960, Android O AOSP पर परीक्षण किया गया।
से सीखा: https://github.com/ARM-software/lisa/pull/408
यह भी पूछा गया: बंदर परीक्षण: यदि एंड्रॉइड सिस्टम में भौतिक कुंजी नहीं है, तो कमांड में शामिल किए जाने के लिए मापदंडों की क्या आवश्यकता है
एक एंड्रॉइड फोटो ऐप खोलने के लिए और विशिष्ट छवि फ़ाइल के साथ पैरामीटर के रूप में खोलने के लिए इसे आज़माएं।
adb shell am start -n com.google.android.apps.photos/.home.HomeActivity -d file:///mnt/user/0/primary/Pictures/Screenshots/Screenshot.png
यह नवीनतम एंड्रॉइड पर काम करेगा, कोई पॉप अप खोलने के लिए एक एप्लिकेशन का चयन करने के लिए नहीं आएगा क्योंकि आप विशिष्ट एप्लिकेशन दे रहे हैं जिसके साथ आप अपनी छवि खोलना चाहते हैं