Yanıtlar:
adb shell
am start -n com.package.name/com.package.name.ActivityName
Veya bunu doğrudan kullanabilirsiniz:
adb shell am start -n com.package.name/com.package.name.ActivityName
Amaç filtreleriniz tarafından filtrelenecek eylemleri de belirtebilirsiniz:
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 }
ve kullanımıandroidrun com.example.test
adb logcat | grep --line-buffered ActivityManager | grep --line-buffered
Görüntülenen tüm uygulamaları listelemek için bu boru hattını kullandım .
Paket adını belirten uygulamayı sadece maymun aracını kullanarak şu kalıbı takip ederek çalıştırmak mümkündür :
adb shell monkey -p your.app.package.name -c android.intent.category.LAUNCHER 1
Komut, uygulamayı rasgele girdi üreten maymun aracını kullanarak çalıştırmak için kullanılır. Komutun son kısmı, uygulama için oluşturulan rastgele giriş sayısını belirten tamsayıdır. Bu durumda sayı 1'dir ve aslında uygulamayı başlatmak için kullanılır (simge tıklaması).
adb shell monkey -p your.app.package.name 1
adb shell am startservice com.some.package.name/.YourServiceSubClassName
buraya bakın: stackoverflow.com/a/18703083/211292
Veya bunu kullanabilirsiniz:
adb shell am start -n com.package.name/.ActivityName
monkey -p com.package.name 1
viaadb shell
linux / mac kullanıcıları, aşağıdaki gibi bir şeyle bir apk çalıştırmak için bir komut dosyası da oluşturabilir:
şu 3 satırla "adb-run.sh" adlı bir dosya oluşturun:
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
daha sonra yürütülebilir kılmak için "chmod + x adb-run.sh".
şimdi şunları yapabilirsiniz:
adb-run.sh myapp.apk
Buradaki avantaj, paket adını veya yüklenebilir etkinlik adını bilmenize gerek olmamasıdır. Benzer şekilde, "adb-uninstall.sh myapp.apk" oluşturabilirsiniz.
Not: Bu, yolunuzda bir aapt olmasını gerektirir. SDK'daki yeni oluşturma araçları klasörü altında bulabilirsiniz.
Ayrıca bir şeyden daha bahsetmek istiyorum.
Bir uygulamayı başlattığınızda adb shell am
, otomatik olarak davranış değişikliği yapan FLAG_ACTIVITY_NEW_TASK bayrağı ekler . Bkz kodu .
Örneğin, Play Store etkinliğini şuradan başlatırsanız adb shell am
, ' Geri ' düğmesine (donanım geri düğmesi) basmak uygulamanızı almaz, bunun yerine bazılarınız varsa önceki Play Store etkinliğini alır (Play Store görevi yoksa , o zaman uygulamanızı alır). FLAG_ACTIVITY_NEW_TASK belgeleri şöyle diyor:
şu anda başlattığınız etkinlik için bir görev zaten çalışıyorsa, yeni bir etkinlik başlatılmaz; bunun yerine, mevcut görev ekranın ön tarafına son haliyle getirilir.
Bu, neyin yanlış gittiğini bulmak için birkaç saatimi harcamama neden oldu.
Bu nedenle, adb shell am
FLAG_ACTIVITY_NEW_TASK bayrağını eklediğinizi unutmayın .
Uygulama türünü bilerek ve verilerle besleyerek bir uygulama başlatabiliriz:
adb shell am start -d "file:///sdcard/sample.3gp" -t "video/3gp" -a android.intent.action.VIEW
Bu komut, sample.3gp dosyasını oynatmak için mevcut Video Oynatıcıları görüntüler
Adım 1: İlk olarak, Cihazınızda yüklü uygulamaların tüm paket adını kullanarak şunu kullanın:
adb shell pm list packages
Adım 2: Tüm paket adlarını alacaksınız, adb'yi kullanmaya başlamak istediğinizi kopyalayın .
Adım 3: Aşağıdaki komutta istediğiniz paket adını ekleyin.
adb shell monkey -p 'your package name' -v 500
Örneğin:
adb shell monkey -p com.estrongs.android.pop -v 500
Es gezginini başlatmak için.
~ / .bash_profile dosyasını açın ve bu bash işlevlerini dosyanın sonuna ekleyin
function androidinstall(){
adb install -r ./bin/$1.apk
}
function androidrun(){
ant clean debug
adb shell am start -n $1/$1.$2
}
ardından Android proje klasörünü açın
androidinstall app-debug && androidrun com.example.app MainActivity
app-debug
?
monkey --pct-syskeys 0
geliştirme panoları için
Bu argüman olmadan, uygulama anahtarlar / ekran olmadan bir geliştirme kartında açılmaz:
adb shell monkey --pct-syskeys 0 -p com.cirosantilli.android_cheat.textviewbold 1
ve hata ile başarısız olur:
SYS_KEYS has no physical keys but with factor 2.0%
HiKey960, Android O AOSP üzerinde test edildi.
Öğrenilen: https://github.com/ARM-software/lisa/pull/408
Ayrıca sordu: maymun testi: Android sisteminde fiziksel tuşlar yoksa, komuta dahil edilmesi gereken parametreler nelerdir
Bir android fotoğraf uygulaması açmak ve parametre olarak açmak için belirli görüntü dosyası ile bunu deneyin.
adb shell am start -n com.google.android.apps.photos/.home.HomeActivity -d file:///mnt/user/0/primary/Pictures/Screenshots/Screenshot.png
En son android üzerinde çalışacak, görüntüyü açmak istediğiniz belirli bir uygulamayı verdiğinizde açmak için bir uygulama seçmek için hiçbir pop-up gelmeyecek