【问题标题】:Android: Using Categories in MonkeyAndroid:在 Monkey 中使用类别
【发布时间】:2011-10-29 14:08:20
【问题描述】:

如何使用monkey 工具的类别选项?

我的清单文件的相关部分如下所示:

   <application android:icon="@drawable/icon" android:label="@string/app_name" android:name="MyApp" android:debuggable="true" android:allowBackup="false" android:testOnly="false">
        <activity android:name="MyLauncherActivity" android:label="@string/app_name" android:screenOrientation="portrait">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name="MyMainActivity" android:label="@string/app_name" android:screenOrientation="portrait">
            <intent-filter>
                <action android:name="none" />
                <category android:name="android.intent.category.MONKEY" />
            </intent-filter>
        </activity>

我在手机上运行该应用程序以确保它正常工作,然后在命令行中输入:

adb shell monkey -p my.full.package.path -vvv 3

效果很好。

但这不起作用:

adb shell monkey -p my.full.package.path -c intent.CATEGORY_LAUNCHER -vvv 3

并产生以下输出:

:Monkey: seed=0 count=3

:AllowPackage: myapp.full.package.path

:IncludeCategory: intent.CATEGORY_LAUNCHER

// Warning: no activities found for category intent.CATEGORY_LAUNCHER

** No activities found to run, monkey aborted.

并且尝试一些变体也没有奏效:

    :Monkey: seed=0 count=3

:AllowPackage: my.full.package.path

:IncludeCategory: CATEGORY_MONKEY

:IncludeCategory: intent.CATEGORY_MONKEY

:IncludeCategory: android.intent.MONKEY

:IncludeCategory: android.intent.category.MONKEY

:IncludeCategory: MONKEY

// Warning: no activities found for category CATEGORY_MONKEY

// Warning: no activities found for category intent.CATEGORY_MONKEY

// Warning: no activities found for category android.intent.MONKEY

// Warning: no activities found for category MONKEY

** No activities found to run, monkey aborted.

如何指定类别

【问题讨论】:

    标签: android


    【解决方案1】:

    你真的很亲密。这对我有用:

    adb shell monkey -p com.JamesBecwar.test -c android.intent.category.LAUNCHER -vvv 3
    

    我认为问题在于您还需要包含启动器,因为如果您不猴子就无法启动程序。不用担心,您可以放置​​多个 -c 参数。例如你可以这样做:

    adb shell monkey -p com.JamesBecwar.test -c android.intent.category.LAUNCHER -c android.intent.category.MONKEY -vvv 3
    

    它应该可以工作。

    【讨论】:

      【解决方案2】:

      据我了解,通过查看 Monkey 源代码,-c 参数代表“主类别”,它只能与主动作结合使用。 -c/main-categories 标准仅在猴子尝试在应用程序中使用“隐式意图”而不是“显式意图”启动应用程序时才有效。

      <intent-filter>
          <action android:name="android.intent.action.MAIN" /> 
          <category android:name="android.intent.category.MONKEY" />
      </intent-filter>
      

      https://android.googlesource.com/platform/development/+/master/cmds/monkey/src/com/android/commands/monkey/Monkey.java

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-04-05
        • 2017-07-13
        • 1970-01-01
        • 1970-01-01
        • 2011-12-15
        相关资源
        最近更新 更多