<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ## 如何對活動啟動進行故障排除 ### 能力 > ? Activity類是Android應用程序的重要組成部分,活動的啟動和組合方式是平臺應用程序模型的基本組成部分。與通過main()方法啟動應用的編程規范不同,Android通過在Activity不同的生命周期調用特定的回調方法來在Activity實例中初始化代碼。 > &copy; [Android開發人員文檔](https://developer.android.com/guide/components/activities/intro-activities) ? Appium需要知道程序包和活動名稱去正確地初始化被測應用。該信息需要在driver capabilities中提供,并且由以下鍵組成: - `appActivity`: 主應用程序活動名稱 - `appPackage`: 應用程序包名 - `appWaitActivity`: 要等待或首先啟動的應用程序活動名 - `appWaitPackage`: 要等待或首先啟動的應用程序包名 - `appWaitDuration`: 等待 `appWaitActivity` 啟動的最大時間 (以毫秒為單位,默認為20000) ? 以上這些功能都是可選的。如果你沒有明確地設置他們,Appium會從APK清單中讀取這些值來嘗試自動檢測他們。盡管,如果應該在設備(`noReset=true`)上已經安裝了受測應用程序,則至少需要設置`appActivity`和`appPackage`選項,因為在這種情況下沒有可用的軟件包清單。如果你沒有明確地設置`appWaitPackage` 和`appWaitActivity` 的值,則他們會被自動設為與`appPackage`/`appActivity`的值一致。有關更多的詳細信息,清查閱 [appium-adb](https://github.com/appium/appium-adb/blob/master/lib/tools/android-manifest.js) 包中`packageAndLaunchActivityFromManifest` 方法的實現。 ### Appium如何啟動活動 ? 活動由 [Call activity manager `am`](https://developer.android.com/studio/command-line/adb#am)啟動. Appium嘗試使用`am start`來啟動`appPackage`/`appActivity` 組合,直到`appWaitPackage`/`appWaitActivity`啟動或者達到`appWaitDuration` 超時時間。當前聚焦的活動名是通過`adb shell dumpsys window windows` 命令輸出 (`mFocusedApp` 或者`mCurrentFocus` 條目)中解析出來的。有關更多詳細信息,請查閱[appium-adb](https://github.com/appium/appium-adb/blob/master/lib/tools/apk-utils.js) 包中`startApp`, 和`getFocusedPackageAndActivity`方法的實現。 ### 可能的問題和解決方案 #### java.lang.SecurityException: 拒絕權限: 啟動意圖(Intent) ? 完整的錯誤描述通常看起來像`'java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.mypackage/.myactivity.MainActivity launchParam=MultiScreenLaunchParams { mDisplayId=0 mBaseDisplayId=0 mFlags=0 } } from null (pid=11366, uid=2000) not exported from uid 10191`。該錯誤可能表明,通過`appPackage`/`appActivity`傳遞(或自動隱式檢測到)給Appium的應用程序包名和活動名組合不是正確的,無法啟動被測程序。解決方案是與應用程序開發人員檢查正確的值,并先執行以下命令來手動測試它們:`adb shell am start -W -n com.myfixedpackage/.myfixedactivity.MainActivity -S -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -f 0x10200000`。如果該命令能手動執行成功并在設備上啟動必要的應用程序,那么它也將同樣適用于Appium。 #### com.myactivity或 com.myapp.com.myactivity 從未啟動 ? 此異常通常表明第一個應用活動與`appWaitPackage`/`appWaitActivity設置的(或自動檢測)不是同一個包/活動。此類錯誤通常發生在具有多個活動的應用程序中。為了解決此問題,我們應該與應用程序開發人員確認哪個活動/應用包是在應用程序啟動時第一個出現的。當前聚焦的活動名可以用上文提到的命令adb shell dumpsys window windows來進行驗證。此外,Appium允許在設置`appWaitActivity` 的值時使用通配符。這在活動名是動態生成或并非一直保持不變的時候尤其有用。例如 `com.mycomany.*` 會匹配任意的 `com.mycomany.foo`或`com.mycomany.bar` ? 如果你仔細檢查過活動名稱是正確的,但是啟動仍然超時,請嘗試增大`appWaitDuration` 的值。通常,對于大多數應用程序而言,默認的20秒就足夠了。但是,某些比較大的應用可能需要更多的時間才能啟動并展示第一個活動。拜托了,請不要創造這樣的應用。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看