簡體   English   中英

Android:在Monkey中使用類別

[英]Android: Using Categories in 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.

如何指定類別

你真的很親密 這對我有用:

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

我認為問題是你需要包括Launcher,因為如果你沒有猴子無法啟動該程序。 不要擔心你可以放一個-c param。 例如,您可以這樣做:

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

它應該工作。

通過查看Monkey源代碼,我可以理解-c參數代表“main-category”,它只能與main-action結合使用。 -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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM