<?xml version="1.0" encoding="UTF-8" ?><rdf:RDF 
  xmlns="http://purl.org/rss/1.0/"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:atom="http://www.w3.org/2005/Atom"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xml:lang="ja">
  <channel rdf:about="http://w.atwiki.jp/risu/">
    <title>risu @Wiki</title>
    <link>http://w.atwiki.jp/risu/</link>
    <atom:link href="https://w.atwiki.jp/risu/rss10.xml" rel="self" type="application/rss+xml" />
    <atom:link rel="hub" href="https://pubsubhubbub.appspot.com" />
    <description>risu @Wiki</description>

    <dc:language>ja</dc:language>
    <dc:date>2018-01-02T19:10:26+09:00</dc:date>
    <utime>1514887826</utime>

    <items>
      <rdf:Seq>
                <rdf:li rdf:resource="https://w.atwiki.jp/risu/pages/137.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/risu/pages/138.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/risu/pages/133.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/risu/pages/37.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/risu/pages/136.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/risu/pages/135.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/risu/pages/130.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/risu/pages/132.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/risu/pages/36.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/risu/pages/129.html" />
              </rdf:Seq>
    </items>
	
		
    
  </channel>
    <item rdf:about="https://w.atwiki.jp/risu/pages/137.html">
    <title>PC Maintenance</title>
    <link>https://w.atwiki.jp/risu/pages/137.html</link>
    <description>
          </description>
    <dc:date>2018-01-02T19:10:26+09:00</dc:date>
    <utime>1514887826</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/risu/pages/138.html">
    <title>Dell Latitude E6320</title>
    <link>https://w.atwiki.jp/risu/pages/138.html</link>
    <description>
          </description>
    <dc:date>2016-09-22T14:39:43+09:00</dc:date>
    <utime>1474522783</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/risu/pages/133.html">
    <title>Lenovo ThinkPad E430</title>
    <link>https://w.atwiki.jp/risu/pages/133.html</link>
    <description>
          </description>
    <dc:date>2015-05-06T07:13:15+09:00</dc:date>
    <utime>1430863995</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/risu/pages/37.html">
    <title>TopPage</title>
    <link>https://w.atwiki.jp/risu/pages/37.html</link>
    <description>
          </description>
    <dc:date>2015-05-06T07:08:51+09:00</dc:date>
    <utime>1430863731</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/risu/pages/136.html">
    <title>CentOS6.3</title>
    <link>https://w.atwiki.jp/risu/pages/136.html</link>
    <description>
          </description>
    <dc:date>2015-05-04T09:08:44+09:00</dc:date>
    <utime>1430698124</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/risu/pages/135.html">
    <title>HP dv6100</title>
    <link>https://w.atwiki.jp/risu/pages/135.html</link>
    <description>
          </description>
    <dc:date>2015-05-02T09:50:29+09:00</dc:date>
    <utime>1430527829</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/risu/pages/130.html">
    <title>Android SDK install</title>
    <link>https://w.atwiki.jp/risu/pages/130.html</link>
    <description>
          </description>
    <dc:date>2014-11-23T08:14:05+09:00</dc:date>
    <utime>1416698045</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/risu/pages/132.html">
    <title>make PC for CTS</title>
    <link>https://w.atwiki.jp/risu/pages/132.html</link>
    <description>
      
&lt;h2&gt;準備&lt;/h2&gt;
&lt;p&gt;・LinuxマシンでDL AndroidのSDK環境を構築&lt;br /&gt;
Android SDK | Android Developers&lt;br /&gt;&lt;a href=&quot;https://developer.android.com/sdk/index.html&quot;&gt; https://developer.android.com/sdk/index.html&lt;/a&gt; &lt;br /&gt;
インストール後、tools/androdiを実行してplatform-toolsをダウンロード、adbがつかえるようにする。
.bashrcでPATHを通しておく&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://source.android.com/compatibility/downloads.html&quot;&gt; http://source.android.com/compatibility/downloads.html&lt;/a&gt; &lt;br /&gt;
から、CTS、CTS Verifier、CTS Media Filesをダウンロード 　 端末とPCをUSBケーブルで接続&lt;/p&gt;
&lt;pre&gt;
　　adb install -r com.svox.langpack.installer_1.0.1.apk
&lt;/pre&gt;
&lt;div style=&quot;margin-left:21pt;&quot;&gt;
&lt;pre&gt;
adb install -r android-cts/repository/testcases/CtsDelegatingAccessibilityService.apk
&lt;/pre&gt;
&lt;pre&gt;
adb install -r android-cts/repository/testcases/CtsDeviceAdmin.apk
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;で管理者用のアプリをインストールする&lt;br /&gt;
　 CTS Mediaに移動して&lt;/p&gt;
&lt;div style=&quot;margin-left:21pt;&quot;&gt;
&lt;pre&gt;
copy_media.sh
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;を実行、テスト用のコンテンツ等が端末に転送される。&lt;/p&gt;
&lt;p&gt;・端末での準備&lt;br /&gt;
Settings &amp;gt; Accessibility &amp;gt; Accessibility &amp;gt; Delegating Accessibility
Service&lt;br /&gt;
で上記にadb installしたCts関係のアプリ２つを管理者に設定&lt;/p&gt;
&lt;p&gt;途中ネットワークのテストがあるので、WiFiを接続済みにしておく。&lt;/p&gt;
&lt;h2&gt;実行&lt;/h2&gt;
&lt;p&gt;・LinuxマシンでCTSのディレクトリに移動して、&lt;/p&gt;
&lt;div style=&quot;margin-left:21pt;&quot;&gt;
&lt;pre&gt;
tools/cts-tradefed
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;を実行&lt;/p&gt;
&lt;p&gt;・CTSのプロンプトになったら以下を入力&lt;/p&gt;
&lt;div style=&quot;margin-left:21pt;&quot;&gt;
&lt;pre&gt;
cts-tf &amp;gt; run cts --plan CTS　
&lt;/pre&gt;&lt;/div&gt;
&lt;h2&gt;結果&lt;/h2&gt;
&lt;p&gt;・基本的にはでた課題はHSMに展開&lt;br /&gt;
ハードとソフトの切り分け、設定で回避できるかどうか？ プリインアプリの課題はないか？ 環境依存はないか？&lt;/p&gt;
&lt;h2&gt;参考&lt;/h2&gt;
&lt;p&gt;Compatibility Test Suite | Android Developers&lt;br /&gt;&lt;a href=&quot;http://source.android.com/compatibility/cts-intro.html%5B%5BBR&quot;&gt; http://source.android.com/compatibility/cts-intro.html[[BR&lt;/a&gt;]]&lt;/p&gt;
&lt;pre&gt;
cd ~/SM-C
&lt;/pre&gt;
&lt;pre&gt;
adb install -r com.svox.langpack.installer_1.0.1.apk
&lt;/pre&gt;
&lt;pre&gt;
adb install -r android-cts/repository/testcases/CtsDelegatingAccessibilityService.apk
&lt;/pre&gt;
&lt;pre&gt;
adb install -r android-cts/repository/testcases/CtsDeviceAdmin.apk
&lt;/pre&gt;
&lt;p&gt;chmod 544 copy_media.sh&lt;/p&gt;
&lt;p&gt;./&lt;span style=&quot;line-height:1.6em;&quot;&gt;copy_media.sh all&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;WiFi ON and setting&lt;/p&gt;
&lt;p&gt;Date &amp;amp; Time Setting&lt;/p&gt;
&lt;p&gt;Screen lock  none&lt;/p&gt;
&lt;p&gt;Stay wake on&lt;/p&gt;
&lt;p&gt;USB debugging on&lt;/p&gt;
&lt;p&gt;&amp;amp; secure load is on&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;line-height:1.6em;&quot;&gt;allow mock locatios on&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Delegating Accessiblity Service ON&lt;/p&gt;
&lt;p&gt;Device administrators 2 check on&lt;/p&gt;
&lt;p&gt;cd android-cts&lt;/p&gt;
&lt;p&gt;./&lt;span style=&quot;line-height:1.6em;&quot;&gt;tools/cts-tradefed&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;adb install ./repository/testcases/CtsTestStub.apk&lt;/p&gt;
&lt;p&gt;adb shell screencap -p /sdcard/test1.png&lt;/p&gt;
&lt;p&gt;sudo ./cts-usb-accessory&lt;/p&gt;
&lt;p&gt;adb install -r CtsVerifier.apk &lt;/p&gt;
&lt;p&gt;adb pull /mnt/sdcard/ctsVerifierReports/ .&lt;/p&gt;
&lt;p&gt;ddms&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
    </description>
    <dc:date>2014-01-29T15:58:06+09:00</dc:date>
    <utime>1390978686</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/risu/pages/36.html">
    <title>menu</title>
    <link>https://w.atwiki.jp/risu/pages/36.html</link>
    <description>
          </description>
    <dc:date>2014-01-14T16:52:18+09:00</dc:date>
    <utime>1389685938</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/risu/pages/129.html">
    <title>CTS</title>
    <link>https://w.atwiki.jp/risu/pages/129.html</link>
    <description>
      [[How to 1&gt;http://d.hatena.ne.jp/bs-android/20110823/1314103313]]
[[How to 2&gt;http://i-miss-erin.blogspot.jp/2010/04/android-cts-compatibility-test-suite.html]]
[[How to 3&gt;http://d.hatena.ne.jp/kinneko/20100511/p12]]
[[make PC for CTS]]

ＣＴＳ概要、環境、基本操作
+.はじめに

　昨今、注目を浴びているAndroidですが、CTSというのは、みなさんご存知でしょうか？
　名前は聞いたことあっても、実際、使ったこと無い人がほとんどだと思います。
　なぜなら、アプリベンダーにはあまり関係ないことですから。しかし、Androidを利用して、世に
　何らかのハードを出そうという人たち（メーカ、個人含む）、またはframeworkを改変（Bug対応など)し、
　Android Open Source Projectsにsubmitしようとする人にとっては、実は避けては通れない道です。
　本記事は、そんな人たちのために捧げます。

　株式会社ブリリアントサービス　　　　
　技術部　藤井洋祐(twitterID:@i_m_yosuke)　

　(校正)　
　技術部　藤田竜史(twitterID:@ryuuuji)　
　※藤田くん、チェックありがとう。
　
1.CTS概要

　1.1　CTSの目的
　　CTS（正式にはCompatibility Test Suite。以下、CTS)は、Google社が
　　Android Platform採用端末に実施を義務付けているTest群です。Google社は、
　　今までOEM、もしくはキャリア依存であったPlatformをAndroidで汎用化しました。
　　CTSは、Android Marketで配布されるアプリケーションが、
　　どのOEMのAndroid端末でもスムーズに利用可能なよう（OEMによって、特化されすぎないよう）に、
　　主要な公開APIを実行し、チェックします。
　　世の中にAndroidPlatform採用端末を配布する場合、これらTest群を全てpassすることが
　　互換性を保つという証になり、そういうプロセスを経て初めて「Android端末」を
　　名乗ることが出来るのではないでしょうか。

　　蛇足ですが、Android 2.3 Compatibility Definition Document(CDD)という、
　　Android Platform使用するためのRequirementがあります。
　　こちらもあわせて、目を通されることをお勧めします。
　　参照：　http://source.android.com/compatibility/2.3/android-2.3.3-cdd.pdf
　　注．本内容は、2011年8月22日現在、Google社が提供する環境を元に作成しております。

　1.2　CTSの動作
　　CTSは、自動化されたハーネスです。以下の二つを含みます。
　　・テスト実行の管理
　　・ターゲットデバイス上で実行されるテストケースのAPKファイル
http://d.hatena.ne.jp/bs-android/files/1-2.png?d=.png
　　大まかな手順としては、以下のようになります。
　　1.CTSをDownload
　　2.ターゲットデバイスの接続
　　3.アクセスビリティテスト実行準備
　　　a）android-cts/repository/testcases/CtsDelegatingAccessibilityService.apk をインストール
　　　b）以下の手順でインストールしたアクセスビリティサービスを有効にします。
　　　　　Settings &gt; Accessibility &gt; Accessibility &gt; Delegating Accessibility Service
　　４．アドミニストレータテスト実行準備
　　　ａ）android-cts/repository/testcases/CtsDeviceAdmin.apk をインストール
　　　ｂ）Settings &gt; Location &amp; security 以下にあるandroid.deviceadmin.cts .* を全て有効にします。
　　５．ＣＴＳを起動します。
　　６．ＣＴＳレポートが作成されます。
　　参照：　http://source.android.com/compatibility/cts-intro.html

　1.3　CTSのテスト範囲
　　テスト範囲は以下の通りです。（現在、大きく分けて７つになります）
f:id:bs-android:20110823201340p:image:w640
　　参照：http://source.android.com/compatibility/cts-intro.html　
２.　CTSの環境作り

　2.1　必要なもの
　　（ハード）
　　・PC　-　DownloadしたCTSを実施します。
　　・ターゲットデバイス　－　Android Platformを採用したデバイスです。
　　（ソフト）
　　PCに必要なもの
　　・Android Developersから、SDKをDownloadしてください。（PC OSに適合したもの）
　　　※Build環境が整っているということが前提となります。
　　　参照：　http://developer.android.com/sdk/index.html
f:id:bs-android:20110823201251p:image:w640
　　Note.
　　CTS実施環境について、PC側のOSは、こちら側で確認取れているのは、Linux（Ubuntu）、MacOSです。
　　Windowsに関しましては、CTS側環境がWindowsに適合していない部分があり、実行Errorとなります。
　　CTS側環境を改変+Cygwinで、動作は確認しています。機会があれば別途紹介いたします。

　　・Android Open source project から、ターゲットデバイスのFirmware versionにあわせたCTSを
　　　PCの任意の場所にDownloadしてください。
　　　参照：　http://source.android.com/compatibility/downloads.html
f:id:bs-android:20110823201017p:image:w640
　Note.
　　CTSは、ターゲットデバイスで採用されているFirmware versionにあわせて、選択する必要があります。
　　Android2.3(Gingerbread)採用の場合、CTS2.3R5が実施すべきCTS versionとなります。（図2.1-2参照）

　2.2　実施準備
　　2.1.1　 CTS実施フォルダ作成
　　　2.1章でDownloadしたCTS 2.3R5(android-cts-2.3_r5-x86.zip)を任意の場所で解凍します。
f:id:bs-android:20110823201715p:image:w360
　解凍後、図2.2-2のようなフォルダが作成されます。
f:id:bs-android:20110823201716p:image:w360
　 2.2.2　環境変数の設定
　　　CTSは、/android-cts/tools/startctsを実行することで起動します。startctsは、
　　　スクリプトで書かれており、CTS2.3R5では、そのスクリプト中で環境変数を
　　　２つ使用しています。
　　環境変数その１　CTS_ROOT
if [ -z &quot;${CTS_ROOT}&quot; ]; then
# CONFIGURATION
# Set this variable to the root of unzipped CTS directory
# This only needs to be changed if this script has been moved
CTS_ROOT=&quot;$(dirname $0)/..&quot;
fi;
　　通常使用の場合、特に意識、変更、設定する必要は、ありません。

　　環境変数その2　SDK_ROOT
# Add SDK_ROOT to the PATH for backwards compatibility with prior startcts
# commands that required SDK_ROOT to find adb.
if [ -n &quot;${SDK_ROOT}&quot; ]; then
PATH=${SDK_ROOT}/platform-tools:${SDK_ROOT}/tools:${PATH}
fi
　　~/.bashrcに、exportを追加します。
export SDK_ROOT=~/android-sdk-linux_x86
Note.
.bashrcを変更せずに、下記のようにSDK_ROOTの初期値を直接与えても構いません。
# Add SDK_ROOT to the PATH for backwards compatibility with prior startcts
# commands that required SDK_ROOT to find adb.
SDK_ROOT=”~/android-sdk-linux_x86”
if [ -n &quot;${SDK_ROOT}&quot; ]; then
PATH=${SDK_ROOT}/platform-tools:${SDK_ROOT}/tools:${PATH}
fi

　2.2.3　CTS実行
　　　CTS実行するには、前述のようにstartctsを実行します。
f:id:bs-android:20110823204831p:image:w640
上記のようにcts_hostプロンプトが表示されれば正常に起動されています。

３.　CTSの操作（基本編）

　3.1　プランCTSの確認
　　CTSのプランは、”ls –plan”で確認することが出来ます。
　　現在は、計8種類提供されています。プランCTSは、そのうちのひとつです。
f:id:bs-android:20110823205146p:image:w640
　　Note.
　　Google社へは、プランCTS（図3.1-1の赤丸）実施、作成されたレポートを提出します。
　　本記事では、プランCTS以外の説明は割愛いたしますが、プランCTSで実施される各種テストが
　　目的別に小分けされたようなものだと考えてください。

　プランCTSが提供する項目を”ls --plan CTS”で確認することが可能です。
　現在は、計42項目のテストパッケージが提供されております。
f:id:bs-android:20110823205450p:image:w640

　3.2　プランCTSの実施
　　3.2.1　プランCTS実施方法その１
　　　プランCTSは、“start –plan CTS”で実行されます。
　　　書式：start --plan test_plan_name
f:id:bs-android:20110823205451p:image:w640
Note.
　　自動で、端末Rebootを繰り返しながら、プランCTSの項目を順に実施していきます。

　　3.2.2　プランCTS実施方法その２
　　　プランCTSを図3.1-2で表示したテストパッケージ単位で実施することが可能です。
　　　”-p”オプションにて、テストパッケージ名を指定します。
　　　書式：start --plan test_plan_name -p java_package_name
　　　下記の例では、”android.apidemos.cts”を実施させています。
f:id:bs-android:20110823205452p:image:w640
　　Note.
　　指定されたテストパッケージに含まれるテストシナリオが全部実行された後、
　　cts_hostプロンプトが表示されコマンド入力待ちとなります。

　　3.2.3　プランCTS結果確認
　　　CTS実施結果は、android-cts/repository/results 直下に、CTS開始日付フォルダが作成され、そこに格納されます。
f:id:bs-android:20110823210136p:image:w640
　　Note.
　　resultsフォルダの下に、zipファイルが作成されます。
　　これは、前述のCTS実施結果が格納されるCTS開始日付フォルダをcompressしたものです。
　　Google社へは、このzipファイルを提出します。

　CTS実施結果フォルダには、図3.2.3-2で示すようなファイル群が存在します。
f:id:bs-android:20110823210348p:image:w640
　　testResult.xmlに実行毎に結果が反映されていきます。その結果は、ブラウザで確認可能です。
　　testResult.xmlをブラウザでOpenすると下記、図3.2.3-3のように表示されます。
f:id:bs-android:20110823210349p:image:w640

　　他の情報もブラウザスクロールによって表示されます。
f:id:bs-android:20110823210350p:image:w640

　　CTSがエラーを検知した場合、下記のように、Result列が赤くなり、エラー詳細が表示されます。
f:id:bs-android:20110823210351p:image:w640
　　Note.
　　Failure Detailsに表示されるエラー内容では、
　　どのようなAPIを使用した結果エラーとなったのかが判別しにくい場合があります。
　　その場合、CTSソースコード（AOSPから取得可能）を解析し、エラー要因、
　　APIを特定する必要があります。

以上です。    </description>
    <dc:date>2014-01-14T05:11:32+09:00</dc:date>
    <utime>1389643892</utime>
  </item>
  </rdf:RDF>
