Android---CTS障害項目分析

修正のヒント:
1. CTS テスト コードを確認し、hasSystemFeature を使用してシステム機能があるかどうかを判断します。リターンがない場合 (後続のテストがない場合)、デバイスにこの機能がない場合は、この機能を削除して CTS がではこの機能は検出されません。機能をテストすると合格できます。
2. 対応するプロセス パッケージは CTS テストの開始時にインストールされ、テストの終了時にアンインストールされます。ブロードキャストを受信することで対応する操作が可能です。コードは以下のように表示されます:

        String currentPackage = intent.getData().getSchemeSpecificPart();//被安装/卸载的包名
        switch (action) {
            case Intent.ACTION_PACKAGE_ADDED:
                if ("".equals(currentPackage)) {
                    //判断CTS正在运行的时候,做相应的处理
                }
                break;
            case Intent.ACTION_PACKAGE_REMOVED:
                if ("".equals(currentPackage)) {
                    //判断CTS结束的时候,做相应的处理
                }
                break;
            default:
                break;
        }

1、Ctsテーマホストテストケース

PackageManagerService.java 内

@SuppressWarnings("resource")
@Override
protected void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
	.......
	synchronized (mAvailableFeatures) {
                    for (FeatureInfo feat : mAvailableFeatures.values()) {
                        if (checkin) {
                            pw.print("feat,");
                            pw.print(feat.name);
                            pw.print(",");
                            pw.println(feat.version);
                        } else {
                            pw.print("  ");
                            pw.print(feat.name);
                            if (feat.version > 0) {
                                pw.print(" version=");
                                pw.print(feat.version);
                            }
                            pw.println();
                        }
                    }
                    //判断CTS运行跳过此项测试
                    if (isPackageAvailable("android.theme.app",mContext.getUserId())) {
                        pw.print("  ");
                        pw.print("android.hardware.type.television");
                        pw.println();
                    }
                }
}

2、CtsMultiUserHostTestCases

複数のユーザーがサポートされていない場合は、最大ユーザー数 config_multiuserMinimumUsers を 1 に変更できます。

3、CtsAppTestCases:android.app.cts.ActivityManagerMemoryClassTest#testGetMemoryClass

OOM が発生した場合は、デバイスによって定義された最大メモリ増加値 dalvik.vm.heapgrowthlimit (この値は 192 より大きい必要があることに注意してください) が init.target.rc で定義された値と異なる可能性があります。

4、CtsAppTestCases:android.app.cts.ActivityManagerTest#testIsUserAMonkey

ActivityManagerService.java の setActivityController メソッドがコード内で呼び出され、渡された 2 番目のブール値が true になり、デバイスがモンキーに設定されます。

5、CtsUiAutomationTestCases:android.app.uiautomation.cts.UiAutomationTest#testWindowAnimationFrameStats

アクティビティジャンプアニメーション、ジャンプを禁止するconfig_disableTransitionAnimationの値をfalseに変更

6、CtsContentTestCases:android.content.cts.AvailableIntentsTest

このテストの内容は、対応するアクションを受け取るアクティビティが少なくとも 1 つあるが、対応するアプリがデバイスにインストールされていないことをテストすることです。ネイティブアプリをインストールしてパスするだけです。

7、CtsOsTestCases:android.os.cts.StrictModeTest

対応する android.intent.action.VIEW と typ=image/jpeg のアクティビティを持つモジュールがデバイスにない場合、テスト ケース内の jpg を暗黙的に開始し、ネイティブの Gallery2 をインストールして渡すことができます。

8、CtsProviderTestCases:android.provider.cts.MediaStoreIntentsTest

このテストの内容は、IntentFilterに対応するインテントで取得した情報を解析できるResolveInfoがあるかどうかですが、ネイティブのGallery2をインストールすることで合格できます。

9、CtsWindowManagerDeviceTestCases:

android.server.wm.MultiDisplaySystemDecorationTests#testLaunchSingleHomeActivityOnDisplayWithDecorations

android.server.wm.MultiDisplaySystemDecorationTests#testLaunchHomeActivityOnDisplayWithDecorations

android.server.wm.MultiDisplaySystemDecorationTests#testLaunchSingleSecondaryHomeActivityOnDisplayWithDecorations

launcher3に戻れないことによるエラー ネイティブのlauncher3をインストールしてパスします。

10、CtsKeystoreTestCases:android.keystore.cts.KeyAttestationTest

Google が提供する認証キーは事前に作成する必要があります。そうしないと、cts 関連のテストが失敗します。

11、CtsAppSecurityHostTestCases:android.appsecurity.cts.AdoptableHostTest#testPrimaryStorage

SDカードが必要です

12、CtsOmapiテストケース

NFC に関連して、CTS の特別なホワイト カード テストを使用する必要があります。

13、CtsSystemUiTestCases:

android.systemui.cts.WindowInsetsBehaviorTests#tappableElements_tapSamplePoints_notExcludeViewRects_withoutAnyCancel

android.systemui.cts.WindowInsetsBehaviorTests#tappableElements_tapSamplePoints_excludeViewRects_withoutAnyCancel

画面密度が低く、クリック サンプリング ポイントが完了する前にタイムアウト時間に達しました。画面密度を上げるには、次のように渡します: adb Shell wm Density 480

おすすめ

転載: blog.csdn.net/m0_50408097/article/details/131107619