シェルスクリプトを介してAndroidアプリケーションを起動しますか?


14

Androidのコマンドラインから実際のAndroidアプリケーションを起動することは可能ですか?たとえば、カレンダーを最前面に持って行きたいと言ってください。私がこれを行うことができる方法はありますか:

startapp com.google.calendar

回答:


11

adbを使用して、それが可能であると信じています:

am [start|instrument]
am start [-a <action>] [-d ] [-t <mime_type>]
[-c <category> [-c <category>] ...]
[-e <extra_key> <extra_value> [-e <extra_key> <extra_value> ...]
[-n <component>] [-D] [<uri>]
am instrument [-e <arg_name> <arg_value>] [-p <prof_file>]
[-w] <component>

たとえば、次のようなマニフェストを使用したAndroidプログラムがあります。

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
 package="com.app1.android.xtract">
  <application android:icon="@drawable/icon">
   <activity class=".Contact" 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>

このようなコード発行コマンドを実行するには(1行で):

am start -a android.intent.action.MAIN -n com.app1.android.xtract/com.app1.android.xtract.Contact

残念ながら、SSH経由では動作しませんが、実行時には動作するadbため、次のように説明します:)
Naftuli Kay
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.