2010-02-12 12 views
5

, ben çok sık aşağıdakileri yapın:Android uygulamasını telefona yükledikten sonra otomatik olarak başlatır mısınız? android Uygulama geliştirme sırasında

  1. Çalıştır "karınca yeniden yükleme" derlemek ve emülatörü bir uygulamayı yüklemek için.
  2. Emülatör penceresine geçin.
  3. Sadece yüklediğim ve test ettiğim paketi tıklayın.

Yüklediğim paketi çalıştırma emülatör telefonuna söyleyebileceğim herhangi bir yöntem var mı? Derleme komutumu çalıştırdıktan sonra gönderebileceğim bir "adb" komutu olabilir mi? Son çare olarak, benim için fare tıklaması simüle bir şey çalıştırabilir sanırım.

+0

Büyük ilk soru ve hoş geldiniz. –

cevap

3

am komutunu kullanmak istersiniz. Böyle tür görünen bir Manifestosu olduğunu varsayalım: Bunu başlayacak

<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.MyApp"> 
    <application android:icon="@drawable/icon"> 
     <activity class=".MyMainActivity" android:label="@string/app_name"> 
      <intent-filter> 
       <action android:value="android.intent.action.MAIN" /> 
       <category android:value="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
    </application> 
    ... 
</manifest> 

ile:

adb shell am start -a android.intent.action.MAIN -n com.example.MyApp/.MyMainActivity 

sen hazır olana kadar beklemek onu anlatmak istiyorum olsa:

adb wait-for-device shell am start -a android.intent.action.MAIN -n com.example.MyApp/.MyMainActivity 

Temel olarak, paketinizin ana Activity numaralı telefonunu arayan bir Intent'u çalıştırıyorsunuz.

(am --help çalışmasını) tam belgeseli:

usage: am [start|broadcast|instrument|profile] 
     am start [-D] INTENT 
     am broadcast INTENT 
     am instrument [-r] [-e <ARG_NAME> <ARG_VALUE>] [-p <PROF_FILE>] 
       [-w] <COMPONENT> 
     am profile <PROCESS> [start <PROF_FILE>|stop] 

     INTENT is described with: 
       [-a <ACTION>] [-d <DATA_URI>] [-t <MIME_TYPE>] 
       [-c <CATEGORY> [-c <CATEGORY>] ...] 
       [-e|--es <EXTRA_KEY> <EXTRA_STRING_VALUE> ...] 
       [--ez <EXTRA_KEY> <EXTRA_BOOLEAN_VALUE> ...] 
       [-e|--ei <EXTRA_KEY> <EXTRA_INT_VALUE> ...] 
       [-n <COMPONENT>] [-f <FLAGS>] [<URI>] 
+1

Bilgilendirici cevap için teşekkürler! :-) Muhtemelen sadece yardım dosyasından bunu çözemezdim. Bu, her gün bana çok zaman kazandı. Buna eklemek için, emülatörü ilk önce ana ekrana geçirmek için uygulamayı derlemeden/yüklemeden önce "adb shell input keyevent 3 &" öğesini çağırın. Yoğun çalışan uygulamalar, uygulamanın yüklenmesini yavaşlatır. – BobbyJim

+0

Sorun değil. Anlamak için biraz kazmaya başladı, ama Eclipse’nin bunu yapmasının mümkün olduğunu biliyordum. –

İlgili konular