<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
		xmlns:xhtml="http://www.w3.org/1999/xhtml"
>

<channel>
	<title>Bescottee &#187; KnowHow</title>
	<atom:link href="http://andbrowser.com/category/development/knowhow/feed/" rel="self" type="application/rss+xml" />
	<link>http://andbrowser.com</link>
	<description>苦しいときは伸びてるとき、楽なときは伸びていないとき</description>
	<lastBuildDate>Sat, 06 Jan 2018 14:12:26 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://andbrowser.com/category/development/knowhow/feed/" />
		<item>
		<title>Picasssoサンプルアプリのビルドエラー解決方法</title>
		<link>http://andbrowser.com/development/knowhow/2859/how-to-resolve-to-build-android-picasso-sample-app/</link>
		<comments>http://andbrowser.com/development/knowhow/2859/how-to-resolve-to-build-android-picasso-sample-app/#comments</comments>
		<pubDate>Mon, 22 Sep 2014 06:44:16 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[KnowHow]]></category>
		<category><![CDATA[development]]></category>

		<guid isPermaLink="false">http://andbrowser.com/?p=2859</guid>
		<description><![CDATA[Androidの画像のダウンロードやキャッシングを行うpicassoライブラリのサンプルアプリのビルド方法を紹介
]]></description>
			<content:encoded><![CDATA[<p><a href="http://andbrowser.com/wp-content/uploads/2014/09/picasso.png"><img src="http://andbrowser.com/wp-content/uploads/2014/09/picasso-300x223.png" alt="" title="picasso" width="300" height="223" class="aligncenter size-medium wp-image-2861" /></a></p>
<h4>Picasso</h4>
<p><span id="more-2859"></span></p>
<p>Picassoは言わずと知れた Android アプリ向けの画像のダウンロード、キャッシングを簡単に利用できるようになるライブラリです。カード決済のスタートアップの<a href="https://squareup.com/jp">Squire</a>という会社の<a href="https://twitter.com/JakeWharton">JakeWharton</a>さんが開発し、OSSとして<a href="https://github.com/square/picasso">https://github.com/square/picasso</a>に公開されているものです。</p>
<p>ひさしぶりに利用してみようとしたところ、サンプルアプリを動かす時にいくつかエラーが発生したのでその対処方法をメモしておきます。</p>
<h4>サンプルアプリのインポートでエラー発生</h4>
<p>github から clone して、eclipse にインポートします。サンプルアプリにライブラリが入っていないため、インポート前に<a href="http://square.github.io/picasso/#download">picasso-?.?.?.jarのダウンロード</a>からダウンロードして libs フォルダにコピーしておきましょう。</p>
<p>project.properties がないため、インポート時に各環境でダウンロードされているSDKから対応するSDK Versionに該当するAndroid SDK が選択されます。私の環境では、以下のように SDK Version : 10(GB環境)が選択されて、ビルドエラーが発生しました。<br />
<a href="http://andbrowser.com/wp-content/uploads/2014/09/picassa_error1.png"><img src="http://andbrowser.com/wp-content/uploads/2014/09/picassa_error1.png" alt="" title="picassa_error1" width="600" class="aligncenter size-full wp-image-2867" /></a></p>
<p>エラーの発生原因は、android:fontFamily という値が Android SDK Version 10 では提供されていないというものです。<br />
これはAndroid SDK version 16以降で提供されているものだからです。</p>
<p><a href="http://developer.android.com/reference/android/R.attr.html#fontFamily<br />
">http://developer.android.com/reference/android/R.attr.html#fontFamily<br />
</a></p>
<p>というわけで、プロジェクトを右クリックして、Properties から Android を選択し、API Level: 16 なもの（たとえば、Android 4.1.2 など）を選びましょう。<br />
エラーが消えない場合は、Project を Clean しましょう。android:fontFamily のエラーは解決されます。</p>
<h5>またエラー発生</h5>
<p>これで解決と思っておりましたが、次は別のところでエラーが発生しました。</p>
<p><img src="http://andbrowser.com/wp-content/uploads/2014/09/picassa_error3.png" alt="" title="picassa_error3" width="616" height="259" class="aligncenter size-full wp-image-2873" /></p>
<p>widgetCategory というアトリビュートがないということで再度調べてみると、これは以下のように API Level 17から提供されているものでした。<br />
というわけで、また Properties -> Android から API Level 17(Android 4.2.2 など）に変更します。</p>
<p><a href="http://andbrowser.com/wp-content/uploads/2014/09/picassa_error2.png"><img src="http://andbrowser.com/wp-content/uploads/2014/09/picassa_error2.png" alt="" title="picassa_error2" width="600"  class="aligncenter size-full wp-image-2870" /></a></p>
<h5>またまたエラー発生</h5>
<p><a href="http://andbrowser.com/wp-content/uploads/2014/09/picassa_error5.png"><img src="http://andbrowser.com/wp-content/uploads/2014/09/picassa_error5.png" alt="" title="picassa_error5" width="683" height="433" class="aligncenter size-full wp-image-2876" /></a></p>
<p>これで解決と思っておりましたが、次は別のところでエラーが発生しました。support library v4がないということで、ADTのGUIメニューから以下のようにインストールします。</p>
<p><a href="http://andbrowser.com/wp-content/uploads/2014/09/picassa_error6.png"><img src="http://andbrowser.com/wp-content/uploads/2014/09/picassa_error6.png" alt="" title="picassa_error6" width="684" height="645" class="aligncenter size-full wp-image-2877" /></a></p>
<h5>またまたエラー発生</h5>
<p>これが最後と信じながら、以下のパッケージ名に関するエラーを解決します。なぜか java ソースコードの配置が package name と異なるところに import されてしまっています。パッケージ名のフォルダの名前変更から main.java を削除します。<br />
<a href="http://andbrowser.com/wp-content/uploads/2014/09/picassa_error7.png"><img src="http://andbrowser.com/wp-content/uploads/2014/09/picassa_error7.png" alt="" title="picassa_error7" width="683" height="100" class="aligncenter size-full wp-image-2880" /></a></p>
<h4>まとめ</h4>
<p>というわけで、Picassoのサンプルアプリを利用するには以下の対応をしましょう。</p>
<ul>
<li>picasso-?.?.?.jar を libs にコピー(Eclipseの場合のみ。AndroidStdioの方は gradle dependencies compile でもっと簡単でしょう）
<li>Support library v4 のインストール
<li>Android SDK の API Level を 17以上にする
<li>javaソースのパッケージ名フォルダの名前変更（環境によっては必要ないかもしれません）
</ul>
<h4>参考情報：Volley</h4>
<p>Picassoと同じようなライブラリに Google が出している <a href="https://android.googlesource.com/platform/frameworks/volley/">Volley</a> もとても便利です。こちらは使い方が「<a href="http://www.amazon.co.jp/gp/product/4844335340/ref=as_li_qf_sp_asin_tl?ie=UTF8&#038;camp=247&#038;creative=1211&#038;creativeASIN=4844335340&#038;linkCode=as2&#038;tag=andbrowser001-22">Effective Android</a><img src="http://ir-jp.amazon-adsystem.com/e/ir?t=andbrowser001-22&#038;l=as2&#038;o=9&#038;a=4844335340" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /><br />
」の「第22章 Volleyでネットワークプログラミングを学ぶ」に紹介されているので興味のある方はご覧ください。<br />
<iframe src="http://rcm-fe.amazon-adsystem.com/e/cm?t=andbrowser001-22&#038;o=9&#038;p=8&#038;l=as1&#038;asins=4844335340&#038;ref=qf_sp_asin_til&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=FF4800&#038;bc1=FFFFFF&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe></p>
<div id="wherego_related"> </div>]]></content:encoded>
			<wfw:commentRss>http://andbrowser.com/development/knowhow/2859/how-to-resolve-to-build-android-picasso-sample-app/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://andbrowser.com/development/knowhow/2859/how-to-resolve-to-build-android-picasso-sample-app/" />
	</item>
		<item>
		<title>【プレゼンに最適】eclipseのフォントサイズ変更方法(kepler(4.3)で動作確認）</title>
		<link>http://andbrowser.com/development/knowhow/2201/eclipse-font-size-change-tarlog-plugins/</link>
		<comments>http://andbrowser.com/development/knowhow/2201/eclipse-font-size-change-tarlog-plugins/#comments</comments>
		<pubDate>Wed, 15 Jan 2014 03:58:23 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[KnowHow]]></category>
		<category><![CDATA[development]]></category>

		<guid isPermaLink="false">http://andbrowser.com/?p=2201</guid>
		<description><![CDATA[【プレゼンに最適】eclipseのフォントサイズ変更方法(kepler(4.3)で動作確認）tarlog-pluginsをご利用ください。]]></description>
			<content:encoded><![CDATA[<p><img src="http://andbrowser.com/wp-content/uploads/2014/01/tarlog.png" alt="" title="tarlog" width="400"  class="aligncenter size-full wp-image-2202" /></p>
<h4>	問題点</h4>
<p>
Androidアプリを開発していて、プレゼンでeclipse画面でコードを説明したり、ライブコーティング時にフォントを一時的に大きくしたい場合があります。<br />
以前のeclipseのバージョンの場合は、<a href="http://sourceforge.net/projects/eclipse-study/files/Font%20Size%20Changer/">font size changer</a>を利用できたのですが、私のeclipse kepler(4.3)では利用できなくなっていました。それで困っていたのですが、別の手段がわかりましたので紹介させていただきます。<br />
<!-- more --></p>
<h4>	tarlog-plugins</h4>
<p><a href="https://code.google.com/p/tarlog-plugins/downloads/detail?name=tarlog.eclipse.plugins_1.4.2.jar&#038;can=2&#038;q=">tarlog-plugins</a>をダウンロードして、eclipse の plugins フォルダにいれて、再起動すれば利用できるようになります。</p>
<p>利用方法は、</p>
<ul>
<li>Ctrl + &#8220;+&#8221;（プラス）キー で拡大
<ul>
<li>(*1)の環境の場合は、Ctrl+Shift+&#8221;^&#8221;（ハット）キー
</ul>
<li>Ctrl + &#8220;-&#8221;（マイナス）キー で縮小
<ul>
<li>(*1)の環境でも同じ
</ul>
</ul>
<p>(*1) 私は日本語キーボードのノートPCを英語配列のドライバに入れ替えている環境のこと</p>
<p>これでコードを紹介するのにとても便利になりました！</p>
<div id="wherego_related"><h3>このページを見た人は、以下のページも見ています。</h3><ul><li><a href="http://andbrowser.com/intel-edison/3500/accelerometer-adxl345-for-edison/" rel="bookmark" class="wherego_title">Edison で利用できる加速度センサーADXL345</a></li><li><a href="http://andbrowser.com/android-sdk/3498/httpsjcenter-bintray-comcomandroidtoolsbuildgradle/" rel="bookmark" class="wherego_title">https://jcenter.bintray.com/com/android/tools/build/gradle/</a></li><li><a href="http://andbrowser.com/development/knowhow/65/eclipse-android-memory-leak-mat/" rel="bookmark" class="wherego_title">メモリリークを発見！Androidアプリのメモリ解析手法</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://andbrowser.com/development/knowhow/2201/eclipse-font-size-change-tarlog-plugins/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://andbrowser.com/development/knowhow/2201/eclipse-font-size-change-tarlog-plugins/" />
	</item>
		<item>
		<title>Android Development Tools(ADT) 21 preview 3,4,5の更新情報</title>
		<link>http://andbrowser.com/development/knowhow/1037/android-development-tools-ver21-preview3-4-5/</link>
		<comments>http://andbrowser.com/development/knowhow/1037/android-development-tools-ver21-preview3-4-5/#comments</comments>
		<pubDate>Wed, 26 Sep 2012 12:48:15 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[KnowHow]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[adt]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[lint]]></category>

		<guid isPermaLink="false">http://andbrowser.com/?p=1037</guid>
		<description><![CDATA[Android Development Tools(ADT) 21 preview 3,4,5の更新情報を掲載]]></description>
			<content:encoded><![CDATA[<p><img src="http://andbrowser.com/wp-content/uploads/2012/09/adt21preview345.png" alt="Android Development Tools-ver21-preview3-4-5" title="adt-ver21-preview3-4-5" width="500" class="aligncenter size-full wp-image-1041" /></p>
<h4>
<b>ADT 21 Preview 5の新機能</b><br />
</h4>
<div>
<b>Preview 5 にはたくさんの不具合修正が含まれています。</b>それに加えて、以下の変更が入っています。
</div>
<div>
<ul>
<li>ビルドシステム</li>
<ul>
<li>適切に適用されたライブラリクラスに対するマニフェストの結合に関する修正
</li>
<li>ライブラリ群（jarファイルとライブラリプロジェクトの両方）は、ビルド時間を改良するために、pre-dexed されます。
</li>
<p><span id="more-1037"></span></p>
<li>ライブラリクラスの R クラスは ライブラリに必要な ID のみが生成されます。これは フィールドやメソッドの上限に dex ファイルがヒットするリスクを減らすためです。
</li>
<li>いくつかの編集機能（コード補完、リソース選択、宣言へ飛ぶ）がライブラリプロジェクトのリソースに対しても適切に実行できる。
</li>
</ul>
<li>Lint</li>
<ul>
<li>新規チェック項目が追加<br />
アプリのバックアップを許可するかどうかを明確に決めるべきであり、そのラベルチェックを実施。<br />
ライブラリパスの設定に関する新しいコマンドラインフラグを追加。<br />
編集時の lint 分析に関するたくさん改良を実施。
</li>
</ul>
<li>レイアウト エディタ</li>
<ul>
<li>レイアウトエディタはシングルエディタの中のシングルレイアウトのすべての変更を強制しません。例えば、ランドスケープとポートレートの２つのバージョンのレイアウトを異なるエディタで編集可能ですし、それらの間をすぐに切り替え可能です。もしくは、同時にそれらを編集して組み合わせることもできます。もし、以前の振る舞いを希望する場合は、設定のAndroid &gt; Editor で以前の不具合に変更できます。
</li>
<li>configuration chooserのデバイスメニューに関する改良</li>
<li>カスタムビューのレンダリング中や構築中に例外がスローされた場合に、レイアウトエディタのエラーをボトムにスタックトレースの関連部分が表示されますし、スタックフレームがハイパーリンクされます。
</li>
</ul>
<li>エディタ
</li>
<ul>
<li>IDEは最後に編集したXMLかグラフィカルモードかどうかを記憶（たとえば、レイアウト、マニフェスト、値の編集）しますし、新しく開いたファイルに同じモードを適用します。これは、ちょうどXMLファイルを編集しようとしたときに、IDEはエディタの種類をXMLエディタを表示しようとします。
</li>
<li>valueの中の属性(Attributes)とリソース(resources)はセーブするたびに有効化されます。
</li>
</ul>
<li>GLトレース
</li>
<ul>
<li>imagesとframesをエクスポートするための能力
</li>
</ul>
</ul>
</div>
<h4>
<b>ADT 21 Preview 4の新機能</b><br />
</h4>
<div>Preview 4にはたくさんの不具合修正が含まれています。それに加えて、少しの新規の Lint チェックが追加されてます。
</div>
<div>
<ul>
<li>Lintは、ロケールに関する破壊を行うコードを検索します。例えば、書式付文字列の定義や、パフォーマンス低下の要因や明確なロケール定義がない場合などです。
</li>
<li>マニフェストにクラス定義が存在しないように見える場合。例えば、削除されたり、リネームされたり、マニフェストの更新なしに移動されたり、タイプミスしたような場合。
</li>
<li>デフォルトのパブリックコンストラクタが明示されていないマニフェストの中で定義されているアクティビティやサービスやアプリケーションを検出する。誤って登録されたインタークラスもフラグ付します（<code>$</code>をセパレータとして利用する代わりに . を使っている場合）
</li>
<li>
<code>View#setTag()</code> を利用したり、もう１つのViewをpassさせた結果によるリークを検出する。
</li>
<li>リソースエイリアスファイルの誤った利用方法を検出
</li>
<li>
<code>SparseArray&lt;Integer&gt;</code>のかわりに<code>SparseIntArray</code>の利用を提案する
</li>
<li>最も知られているバージョンのプラットフォームをターゲットとしていないアプリに警告を出します。<br />
これは、様々な互換性を保つためであり、アプリケーションを広めるためです。
</li>
</ul>
<div>新規lint チェック以外にもいくつかの改良を実施。
</div>
<ul>
<li>Systraceを DDMS に統合
</li>
<li>F2を押した場合のレイアウトエディタのデフォルト動作を定義。例えば、ボタンやテキストビューをドラッグした後に F2 を押すとテキストの編集が可能<br />
<img border="0" src="https://sites.google.com/a/android.com/tools/_/rsrc/1347318021776/download/adt-21-preview/menu.png.1347318021534.png" style="display:block;margin-top:5px;margin-bottom:5px;margin-right:auto" />
</li>
<li>
<i>Rename</i> ショートカットを利用して ID を変更可能</p>
<li>
&#8220;<i>Add Locale&#8230;</i>&#8221; アクションを利用して簡単にロケールを追加可能。さらに新しい値をフォルダに追加し、新しいロケール向けの翻訳文字セットを編集できるようにします。<br />
</p>
<div style="display:block;text-align:left">
<a href="https://sites.google.com/a/android.com/tools/download/adt-21-preview/translation2.png.1347318554531.png?attredirects=0" imageanchor="1"><br />
<img border="0" src="https://sites.google.com/a/android.com/tools/_/rsrc/1347318554817/download/adt-21-preview/translation2.png.1347318554531.png" /><br />
</a>
</div>
</li>
<li>
<div style="display:block;text-align:left">
<div style="display:block;text-align:left">
<p>初期化中や描画中に例外が投げられたカスタムビュー（もしくは間違った設定をしたビュー）は、レイアウトエディタ内にスタックトレースが表示されて、関連するスタックフレームにジャンプすることができます。
</p></div>
</div>
</li>
</ul>
</div>
<h2><b>ADT 21 Preview 3の新機能</b></h2>
<ul>
<li>Preview 3は、<b>たくさんの不具合修正を実施</b><br />
＃それだけかよ（ｗ
</ul>
<div id="wherego_related"><h3>このページを見た人は、以下のページも見ています。</h3><ul><li><a href="http://andbrowser.com/development/2134/android-development-toolsadt-22-2/" rel="bookmark" class="wherego_title">Android Development Tools(ADT) 22.2 更新情報</a></li><li><a href="http://andbrowser.com/development/1784/android-development-tools-adt-22-0-1/" rel="bookmark" class="wherego_title">Android Development Tools(ADT) 22.0.1 更新情報</a></li><li><a href="http://andbrowser.com/development/1578/android-development-tools-adt-21-1-0-2/" rel="bookmark" class="wherego_title">Android Development Tools(ADT) 21.1.0 更新情報</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://andbrowser.com/development/knowhow/1037/android-development-tools-ver21-preview3-4-5/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://andbrowser.com/development/knowhow/1037/android-development-tools-ver21-preview3-4-5/" />
	</item>
		<item>
		<title>Android Development Tools(ADT) 21 preview 2の更新情報</title>
		<link>http://andbrowser.com/development/knowhow/1025/android-development-tools-adt-21-preview2/</link>
		<comments>http://andbrowser.com/development/knowhow/1025/android-development-tools-adt-21-preview2/#comments</comments>
		<pubDate>Mon, 27 Aug 2012 11:42:31 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[KnowHow]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[adt]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[sdk tools]]></category>

		<guid isPermaLink="false">http://andbrowser.com/?p=1025</guid>
		<description><![CDATA[Android Development Tools(ADT) 21 preview 2の更新情報を掲載]]></description>
			<content:encoded><![CDATA[<p><img src="http://andbrowser.com/wp-content/uploads/2012/08/adt21preview21.png" alt="Android Development Tools(ADT) 21 preview2" title="Android Development Tools(ADT) 21 preview2" width="609" height="342" class="aligncenter size-full wp-image-1034" /></p>
<h4>ADT 21 Preview</h4>
<p>2012年8月22日：ADT 21 と SDK Tools, r21 の preview2 向けビルドを更新のうえ、リリースしました。インストール方法は後述しています。</p>
<h5>ADT 21 Preview 2 の新しいポイント</h5>
<p>
preview1のように preview2は不具合修正版リリースです。ADT20から様々な領域においてのたくさんの不具合修正を含んでいます。例えば、新しいテンプレートインフラストラクチャのように。<br />
20.0.1や20.0.2や来たるべき20.0.3に含まれている少ないがクリティカルな不具合修正が含まれている一方、ADT21は非常にたくさんの不具合修正やインフラストラクチャの改良が含まれています。</p>
<h5>新機能について</h5>
<div>
<ul>
<li>
JUnit test runner が接続されているすべてのデバイスに同時にテストを実行可能<br />
<span id="more-1025"></span><br />
<img border="0" src="http://tools.android.com/_/rsrc/1344561932557/download/adt-21-preview/fullscreen.png" style="display:inline;float:right;margin:5px 10px" /></li>
<li>
新しいテンプレートメカニズムの改良、既存のテンプレートや新しいテンプレートのクリーンナップ
</li>
<li>
XMLコード補完がテーマ参照からすぐに実行可能。例えば、 <code>?android:attr/dividerHeight</code>のように。</p>
<li>
設定の選択がメニューや設定ダイアログなどからフルの言語やリージョン名(2文字コードでなく）をすぐに表示
</li>
<li>
新しい lint チェック
</li>
<ul>
<li>
<code>WakeLock</code>の確かな種類を発見（不必要なバッテリー利用につなげるために）
</li>
<li>
ソースフォルダの中のプライベートなキーファイルを発見（ .apk を分配するフォルダに対して）
</li>
<li>
<code>SecureRandom</code>オブジェクトの間違った利用を発見（seedを初期化がなされているかどうか）
</li>
<li>
無効な drawable selector ファイルを発見（あとの状態(state)が先の状態(state)を完全にカバーしている場合）(故にある状態に到達しない場合）
</li>
<li>
フォントプロパティ<code>textSize</code>と一緒に<code>dp</code> ユニットの利用を発見（むしろ<code>sp</code>を利用すべき）
</li>
<li>
stringリソースのtyposを発見。現在のチェックは、以下の言語に対応。英語、スペイン語、イタリア語、ドイツ語、ハンガリー語、ノルウェー語、ポルトガル語、トルコ語。我々は、他の言語のtypo辞書の構築の助けを必要としています。詳細は、<a href="https://plus.google.com/u/0/116539451797396019960/posts/MvxRsR75uNv">こちら</a>をみてください。
</li>
<li>
いくつかのlintチェックが広がりました。例えば、<code>px</code> checkerは、style 装飾もみます。the String.format checker は<code>getResources(R.string.foo, args)</code>などもみます。
</li>
</ul>
<li>
たくさんのlint インフラの改良と不具合修正（たとえば、ライブラリプロジェクトはプロジェクト側のチェックに含まれたり、クラスファイルのフローを解析したり、偽反応(false positives)の数を減らしたり、新しい&#8221;<code>lint</code>&#8220;ターゲットをantビルドに追加したり、新しい <code>--sources</code> や <code>--classpath</code>引数を異なるディレクトリ構造のソースコードにlintを適用したり、 <a href="https://wiki.jenkins-ci.org/display/JENKINS/Android+Lint+Plugin" rel="nofollow">Jenkins Lint plugin</a>をサポートするために XML エクスポートを改良。
</li>
<li>
<img border="0" src="http://tools.android.com/_/rsrc/1344562192227/download/adt-21-preview/relative.png" style="display:inline;margin:5px 10px;float:right" /><br />
レイアウトエディターの中のRelativeLayout を改良、そのためドラッグ中のウィジェットの周りと削除は、直感的な結果が得られる。特に削除中のウィジェットは削除されたウィジェットを通る制約をうける。そして、移動中のウィジェットの制約は、いつでも有効である。（たとえば、cycleを作成していなくても）
</li>
<li>
<b>Preview 2</b>は preview1に追加される機能はありません。不具合修正のみです。ADT21向けにはより機能追加が実施されますが、いくつかの重要な不具合修正は preview として素早く更新されます。
</li>
<li>
<b>注意点:</b> &#8220;multiconfiguration editor&#8221;機能（詳細は<a href="https://plus.google.com/u/0/116539451797396019960/posts/2pjZ4udMZ2X">こちら</a>）は ADT21では提供されません。</li>
</ul>
<div>
<div id="wherego_related"><h3>このページを見た人は、以下のページも見ています。</h3><ul><li><a href="http://andbrowser.com/development/knowhow/990/android-development-tools-adt-20-0-2/" rel="bookmark" class="wherego_title">Android Development Tools(ADT) 20.0.2 更新情報</a></li><li><a href="http://andbrowser.com/android-sdk/1772/android-development-tools-adt-22-release-info/" rel="bookmark" class="wherego_title">ADT 22 ,Tools 22 リリース情報</a></li><li><a href="http://andbrowser.com/android-sdk/1738/branch_for_adt_r22/" rel="bookmark" class="wherego_title">ADT r22まもなく？</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://andbrowser.com/development/knowhow/1025/android-development-tools-adt-21-preview2/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://andbrowser.com/development/knowhow/1025/android-development-tools-adt-21-preview2/" />
	</item>
		<item>
		<title>AndroidMarket(Google Play)にアプリをアップロードが失敗する条件（未解決）</title>
		<link>http://andbrowser.com/development/knowhow/1016/android-market-google-play-apk-upload-error-integer-value-to-android-manifest/</link>
		<comments>http://andbrowser.com/development/knowhow/1016/android-market-google-play-apk-upload-error-integer-value-to-android-manifest/#comments</comments>
		<pubDate>Tue, 14 Aug 2012 00:55:31 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[KnowHow]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[AndroidManifest]]></category>

		<guid isPermaLink="false">http://andbrowser.com/?p=1016</guid>
		<description><![CDATA[value.xml 内の Integer 定義を AndroidManifest のVersionCodeで利用するとAndroidMarket(Google Play)にアプリをアップロードでエラーになる件（未解決）

]]></description>
			<content:encoded><![CDATA[<p><img src="http://andbrowser.com/wp-content/uploads/2012/08/AndroidMarketGooglePlay.png" alt="AndroidMarket(GooglePlay)" title="AndroidMarketGooglePlay" width="556" height="390" class="aligncenter size-full wp-image-1017" /><br />
AndroidMarket(Google Play)にアプリをアップロードできない条件があったので記載しておきます。</p>
<p>apkの作成や鍵の証明はできるのですが、AndroidMarket(Google Play)にアップロードするときにはねられます。<br />
アップロード時に apk の中を解析して必要な情報をAndroidManifestから取得しており、以下の設定方法では、AndroidManifestから情報が抽出できないため<br />
エラーになっているように見えます。</p>
<h4>普通のAndroidManifestへのバージョン番号の書き方</h4>
<p>AndroidManirest.xml で通常は以下のようにバージョン番号やバージョンコードを記載します。<br />
<span id="more-1016"></span></p>
<pre class="brush: xml; first-line: 1;" >
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="com.andbrowser.togmail"
  android:installLocation="auto"
  android:versionCode="10"
  android:versionName="1.3.0" >
</pre>
<h4>実現したい書き方</h4>
<p>実は以下のように記載してもコンパイル・ビルドができ、apkを作成できます。<br />
ポイントは、<strong>versionCode</strong>と<strong>versionName</strong>です。<br />
この方法の利点は、 git flow の運用をやっているときに release 時に変更するファイルが AndroidManifest.xml から value/string.xml (value.xml など別名でも可）に変わられることです。<br />
AndroidManifest.xml はバージョン番号以外にも様々な情報が記載されていて、構造も複雑です。その点、string.xmlなどは構造が簡単なため、バージョン番号追加スクリプトなどで自動化する場合にミスするリスクを抑えることができます。そのため、私はこの方法を採用したいと思っています。</p>
<pre class="brush: xml; first-line: 1;" >
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.andbrowser.togmail"
    android:installLocation="auto"
    android:versionCode="@integer/version_code"
    android:versionName="@string/app_name" >
</pre>
<pre class="brush: xml; first-line: 1;" >
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="app_name">toGmail</string>
...
    <integer name="version_code">10</integer>
    <string name="version_name">1.3.0</string>
</resources>
</pre>
<p>参考URL</p>
<ul>
<li><a href="http://y-anz-m.blogspot.jp/2011/07/androidresrouce-integer.html">Y.A.M の 雑記帳: Android　resource で integer を定義する</a>
<li><a href="http://developer.android.com/guide/topics/resources/more-resources.html">Android SDK: More Resource Types</a>
</ul>
<p>しかしながら、この方法で作成した apk をAndroidMarket(Google Play)で公開するためにアップロードしようとすると、アップロード時にエラーになります。</p>
<h4>結論（未解決）</h4>
<p>いまだ解決策がわからないため、この手法は作らずに作成しなおしてアップ直しました。<br />
もし解決策をご存じの方は是非共有させてください。</p>
<div id="wherego_related"><h3>このページを見た人は、以下のページも見ています。</h3><ul><li><a href="http://andbrowser.com/android-sdk/2327/android-xml-tools-attributes/" rel="bookmark" class="wherego_title">Android XML Tools Attributes</a></li><li><a href="http://andbrowser.com/development/918/old-adt-download-url/" rel="bookmark" class="wherego_title">ADT(Android Developer Tools) ダウンロードURL一覧</a></li><li><a href="http://andbrowser.com/development/1159/android-tablet-app-is-required-bigger-launcher-icon/" rel="bookmark" class="wherego_title">Androidタブレットアプリのホームアイコンは１段階大きなアイコンが必要</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://andbrowser.com/development/knowhow/1016/android-market-google-play-apk-upload-error-integer-value-to-android-manifest/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://andbrowser.com/development/knowhow/1016/android-market-google-play-apk-upload-error-integer-value-to-android-manifest/" />
	</item>
		<item>
		<title>Android Development Tools(ADT) 20.0.2 更新情報</title>
		<link>http://andbrowser.com/development/knowhow/990/android-development-tools-adt-20-0-2/</link>
		<comments>http://andbrowser.com/development/knowhow/990/android-development-tools-adt-20-0-2/#comments</comments>
		<pubDate>Wed, 25 Jul 2012 02:25:27 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[KnowHow]]></category>
		<category><![CDATA[development]]></category>

		<guid isPermaLink="false">http://andbrowser.com/?p=990</guid>
		<description><![CDATA[Android Development Tools(ADT) 20.0.2 更新情報を掲載]]></description>
			<content:encoded><![CDATA[<p><img src="http://andbrowser.com/wp-content/uploads/2012/07/adt20.0.2.png" alt="Android Development Tools(ADT) 20.0.2" title="Android Development Tools(ADT) 20.0.2" width="668" height="484" class="aligncenter size-full wp-image-992" /></p>
<h4>ADT 20.0.2</a> <em>(2012年7月)</em></h4>
<dl>
<dt>依存関係</dt>
<dd>
<ul>
<li>ADT 20.0.2 を利用するために Java 1.6 かそれ以降が必要</li>
<li>ADT 20.0.2 を利用するためには Eclipse Helios (Version 3.6.2) かそれ以降が必要</li>
<li>ADT 20.0.2 は、SDK tools r20.0.1 を利用するために設計されています。<a href="http://developer.android.com/tools/sdk/tools-notes.html">SDK Tools r20.0.1</a>. まだSDK Tools r20.0.1をインストールしていない場合は、SDK manager からインストールしてください。</li>
</ul>
</dd>
<dt>不具合修正</dt>
<p><span id="more-990"></span></p>
<dd>
<ul>
<li>Eclipse 4.x の XML エディタ上でのキーバインドに関する不具合を修正</li>
<li>既に存在するレイアウト設定を作成する場合の不具合を修正</li>
</ul>
</dd>
</dl>
<div id="wherego_related"><h3>このページを見た人は、以下のページも見ています。</h3><ul><li><a href="http://andbrowser.com/android-sdk/1461/august-1-2012-android-platform-versions/" rel="bookmark" class="wherego_title">JBが初登場で0.8%。2012年8月1日時点のAndroid Platform バージョンの割合</a></li><li><a href="http://andbrowser.com/development/knowhow/975/android-development-tools-adt-20-0-1/" rel="bookmark" class="wherego_title">Android Development Tools(ADT) 20.0.1 更新情報</a></li><li><a href="http://andbrowser.com/development/knowhow/1037/android-development-tools-ver21-preview3-4-5/" rel="bookmark" class="wherego_title">Android Development Tools(ADT) 21 preview 3,4,5の更新情報</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://andbrowser.com/development/knowhow/990/android-development-tools-adt-20-0-2/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://andbrowser.com/development/knowhow/990/android-development-tools-adt-20-0-2/" />
	</item>
		<item>
		<title>Android Development Tools(ADT) 20.0.1 更新情報</title>
		<link>http://andbrowser.com/development/knowhow/975/android-development-tools-adt-20-0-1/</link>
		<comments>http://andbrowser.com/development/knowhow/975/android-development-tools-adt-20-0-1/#comments</comments>
		<pubDate>Sat, 21 Jul 2012 13:26:17 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[KnowHow]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[adt]]></category>
		<category><![CDATA[Android]]></category>

		<guid isPermaLink="false">http://andbrowser.com/?p=975</guid>
		<description><![CDATA[Android Development Tools(ADT) 20.0.1 更新情報を掲載]]></description>
			<content:encoded><![CDATA[<p><img src="http://andbrowser.com/wp-content/uploads/2012/07/adt20.0.1.png" alt="Android Development Tools(ADT) 20.0.1" title="Android Development Tools(ADT) 20.0.1" width="811" height="568" class="aligncenter size-full wp-image-980" /></p>
<h4>ADT 20.0.1 <em>(June 2012)</em></h4>
<div class="toggleme">
<dl>
<dt>依存関係</dt>
<dd>
<ul>
<li>ADT 20.0.1 を利用するために Java 1.6 かそれ以降が必要</li>
<li>ADT 20.0.1 を利用するためには Eclipse Helios (Version 3.6.2) かそれ以降が必要</li>
<li>ADT 20.0.1 は、SDK tools r20.0.1 を利用するために設計されています。<a href="http://developer.android.com/tools/sdk/tools-notes.html">SDK Tools r20.0.1</a>. まだSDK Tools r20.0.1をインストールしていない場合は、SDK manager からインストールしてください。</li>
</ul>
</dd>
<dt>不具合修正</dt>
<p><span id="more-975"></span></p>
<dd>
<ul>
<li>サポートライブラリのインストールに関連する新規プロジェクトウィザード時の問題を修正</li>
<li>テンプレートを利用する場合の新規プロジェクトウィザードに関するいくつかの問題を修正</li>
<li>新規プロジェクトウィザードでのテキストベースのランチャーアイコンに関する問題を修正</li>
<li>Javaファイル内の難解なエラーマーカーに関する問題を修正</li>
<li><code>.apk</code>ファイルリリースの書き出し時の、マニフェスト結合の問題を修正</li>
<li>Windows OS上で自動的に include path を探すような NDK サポートを対応</li>
<li>空白のエディタの新しい設定を開こうとしたときに発生する excetion に対応</li>
<li>API Level 16に含まれる <code>xxhdpi</code> densityのサポートを追加。</li>
<li>Androidのデフォルト動作時に unprotected receivers を無視するための unprotected broadcast receivers に関する <code>lint</code>チェックの不具合を修正。</li>
</ul>
</dd>
</dl>
<div id="wherego_related"><h3>このページを見た人は、以下のページも見ています。</h3><ul><li><a href="http://andbrowser.com/development/knowhow/1037/android-development-tools-ver21-preview3-4-5/" rel="bookmark" class="wherego_title">Android Development Tools(ADT) 21 preview 3,4,5の更新情報</a></li><li><a href="http://andbrowser.com/au-kddi/903/au-market-app-install/" rel="bookmark" class="wherego_title">auマーケットの簡単インストール方法</a></li><li><a href="http://andbrowser.com/development/knowhow/612/android-ndk-r7-release/" rel="bookmark" class="wherego_title">Android NDK r7 の更新情報</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://andbrowser.com/development/knowhow/975/android-development-tools-adt-20-0-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://andbrowser.com/development/knowhow/975/android-development-tools-adt-20-0-1/" />
	</item>
		<item>
		<title>Android Development Tools(ADT) 20.0.0 更新情報</title>
		<link>http://andbrowser.com/development/knowhow/963/android-adt20/</link>
		<comments>http://andbrowser.com/development/knowhow/963/android-adt20/#comments</comments>
		<pubDate>Tue, 10 Jul 2012 22:39:25 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[KnowHow]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[adt]]></category>
		<category><![CDATA[Android]]></category>

		<guid isPermaLink="false">http://andbrowser.com/?p=963</guid>
		<description><![CDATA[Android Development Tools(ADT) 20.0.0 更新情報をわかりやすく掲載]]></description>
			<content:encoded><![CDATA[<p><img src="http://andbrowser.com/wp-content/uploads/2012/07/adt20.png" alt="Android Development Tools(ADT) 20.0.0 更新情報" title="Android Development Tools(ADT) 20.0.0 更新情報" width="640" height="480" class="aligncenter size-full wp-image-968" /></p>
<h4>ADT 20.0.0 <em>(2012年6月)</em>リリース</h4>
<dl>
<dt>依存関係</dt>
<dd>
<ul>
<li>ADT 20.0.0 を利用するために Java 1.6 かそれ以降が必要</li>
<li>Eclipse Helios (Version 3.6.2) かそれ以降が必要</li>
<li>ADT 20.0.0 は、SDK tools r20 を利用するために設計されています。<a href="http://developer.android.com/tools/sdk/tools-notes.html">SDK Tools r20</a>. まだSDK Tools r20をインストールしていない場合は、SDK manager からインストールしてください。</li>
</ul>
</dd>
<dt>一般的な改善点:</dt>
<p><span id="more-963"></span></p>
<dd>
<ul>
<li>アプリケーション　テンプレート
<ul>
<li>Androidアプリのテンプレートを追加。Androidアプリ開発のベストプラクティスを利用するために、開発者が特殊な事例を登録可能にした。</li>
</ul>
</li>
<li>パフォーマンス
<ul>
<li>全体的な ADT パフォーマンスを改善し、メモリに関する不具合を修正。SDK dataのロードを30%改善。</li>
</ul>
</li>
<li>GLES向けのTracer
<ul>
<li>アプリからのOpenGL callをトレースするための新しいperspective viewを追加し、それぞれのcallの track とビジュアル結果が見れるようになった。 (<a href="http://developer.android.com/tools/help/gltracer.html">詳細はこちら。</a>)</li>
</ul>
</li>
<li>Lint
<ul>
<li>新しい Lint ルールを追加。manifest 登録、activity 登録の重複、セキュリティチェック、Toastの正しい利用方法、SharedPreferencesのcommit()忘れの防止、Fragmentクラスのインスタンス化、handlerのメモリリーク対応</li>
<li>レイアウトエディタに関する Lint のより厳しい統一を追加(<a<br />
href="http://tools.android.com/recent/lintfeedback">詳細はこちら</a>)</li>
<li>Javaファイル保存時のオプションに Lint の実行を追加(<a<br />
href="http://tools.android.com/recent/lintonsave">詳細はこちら</a>)</li>
</ul>
</li>
<li>レイアウトエディタ(<a href="http://tools.android.com/recent/newlayouteditorpropertysheet">詳細はこちら</a>)
<ul>
<li>重要な属性、画像やカラーのインラインプレビュー、似ているリソース名がboldでハイライトされる機能を追加</li>
<li>デフォルト値の表示機能を追加（あれば）</li>
<li>リソースの値、enum, flagの固定値の補間を追加</li>
<li>拡張プロパティの表示機能を追加し、ネストされたプロパティをカテゴライズする機能、例えば、レイアウトのパラメータは１段階ネストされたプロパティが最初にリストされます。</li>
<li>値のないアトリビュート名の上に Tooltips を表示。</li>
<li>booleanの値のためにチェックボックスのサポートを追加</li>
<li>アルファベットと数値のソートオーダーを切り替える機能を追加</li>
<li>より便利に編集できるようにするために、レイアウトエディタのwindows管理を改良</li>
<li>レイアウトエディタの設定をUIのヘッダから選べるように改良</li>
</ul>
</li>
<li>XML 編集機能
<ul>
<li>テーマ参照(?android:attr, ?attr:)されている宣言への移動サポートを追加</li>
<li>style定義の補間機能を改良</li>
<li>APIレベルごとにバージョン定義を表示するために、manifest 内の<code>minSdkVersion</code> と <code>targetSdkVersion</code> 属性の補間を改良</li>
<li>styleファイルを含むカスタムビューのカスタム属性に対しても補間機能を改良。</li>
<li>XML outline viewでテキストや画像の編集が同期する改良</li>
</ul>
</li>
<li>Build System
<ul>
<li>プロジェクトのmanifestの中に library project の manifest が自動的にマージされる機能を追加。 <code>manifestmerger.enabled</code> property を有効にすれば動作する。</li>
<li><code>aapt -G</code> flagによって、ProGuardの自動サポートを追加。XML files(custom viewsのような）を参照し、テンポラリのProGuard keep-ruleファイルに含まれるクラスを生成するビルドシステムにこの変更は影響する。巨大なライブラリプロジェクト(Android Support libraryのような)の一部を利用する場合により小さな apk を生成することが可能になる。そのため、すべての custom views をkeepするdefault ProGuard 設定ファイルは削除されます。</li>
</ul>
</li>
<li>NDKベースのAndroid project のデバッグ機能を追加</li>
</li>
<li>background shapes の調整やパディングを Asset Stdio Wizard で対応追加</li>
<li>LogCat で異なる優先度に色設定ができるように改良</li>
<li>複数デバイスが接続されていても、1つのみで実行できるように &#8220;Run&#8221; を改良。launch 設定ダイアログの target tab は接続されているすべてのデバイスを表示し、物理デバイスかエミュレータかを設定可能。（この機能は、&#8221;Run設定&#8221;のみで、DebugやJUnitテストでは利用できません）</li>
<ul>
  </dd>
<dt>不具合修正</dt>
<dd>
<ul>
<li>Lintの間違ったレポートに関する多数の不具合を修正</li>
<li>レイアウトエディタに関する不具合を修正</li>
<li>カット・コピー・ペーストを含む、Eclipse 4.x (Juno) の互換性保持に関する不具合を修正</li>
</ul>
</dd>
</dl>
<div id="wherego_related"><h3>このページを見た人は、以下のページも見ています。</h3><ul><li><a href="http://andbrowser.com/development/knowhow/1025/android-development-tools-adt-21-preview2/" rel="bookmark" class="wherego_title">Android Development Tools(ADT) 21 preview 2の更新情報</a></li><li><a href="http://andbrowser.com/development/knowhow/770/android-support-package-r6/" rel="bookmark" class="wherego_title">Android Support Package Rivision6 更新情報</a></li><li><a href="http://andbrowser.com/development/knowhow/1037/android-development-tools-ver21-preview3-4-5/" rel="bookmark" class="wherego_title">Android Development Tools(ADT) 21 preview 3,4,5の更新情報</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://andbrowser.com/development/knowhow/963/android-adt20/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://andbrowser.com/development/knowhow/963/android-adt20/" />
	</item>
		<item>
		<title>SDK Tools Revision 19更新情報</title>
		<link>http://andbrowser.com/development/knowhow/883/sdk-tools-r19/</link>
		<comments>http://andbrowser.com/development/knowhow/883/sdk-tools-r19/#comments</comments>
		<pubDate>Thu, 03 May 2012 03:07:56 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[KnowHow]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[sdk tools]]></category>

		<guid isPermaLink="false">http://andbrowser.com/?p=883</guid>
		<description><![CDATA[Android SDK Tools Revision 19 の更新情報をわかりやすく記載]]></description>
			<content:encoded><![CDATA[<p><img src="http://andbrowser.com/wp-content/uploads/2012/05/android-sdk-tools-r19.png" alt="Android SDK Tools Revision 19" title="Android SDK Tools Revision 19" width="640" height="480" class="aligncenter size-full wp-image-884" /></p>
<p><a href="http://developer.android.com/sdk/tools-notes.html">SDK Tools, Revision 19</a>の意訳です。完璧な自信はありませんので原文も一緒にご参照ください。</p>
<h4><a href="http://developer.android.com/sdk/tools-notes.html">SDK Tools, Revision 19<em>(2012年4月)</em></a> </h4>
<p class="caution"><strong>重要なお知らせ：</strong> Android SDK Manager から新しいAndroid 4.0 のシステムコンポーネントをダウンロードするために、SDK Tools をバージョン14かそれ以上に更新して、Android SDK Manager を再起動すべきです。もしAndroid 4.0 システムコンポーネントをダウンロードしなければ、必要ありません。</p>
<dl>
<h5>
<dt>依存関係（利用上の前提条件）：</dt>
</h5>
<dd>
<ul>
<li>Android SDK Platform-tools がバージョン9かそれ以上</li>
<li>もしEclipse(ADTを含めて）を利用する場合、注意点があります。SDK Tools r19は ADT 18やそれ以上を利用するように設計されています。ADTプラグインを<a href="http://developer.android.com/sdk/eclipse-adt.html">ADT 18</a>に更新することを強くお薦めします。</li>
<li>もしEclipse以外で開発する場合、 <a href="http://ant.apache.org/">Apache Ant</a> 1.8 かそれ以上を利用すべきです。</li>
</ul>
</dd>
<h5>
<dt>不具合修正：</dt>
</h5>
<dd>
<ul>
<li>GPUアクセラレーション機能を利用したエミュレータをいくつかの開発者が利用できないイシューを修正
  </ul>
</dd>
<div id="wherego_related"><h3>このページを見た人は、以下のページも見ています。</h3><ul><li><a href="http://andbrowser.com/development/knowhow/65/eclipse-android-memory-leak-mat/" rel="bookmark" class="wherego_title">メモリリークを発見！Androidアプリのメモリ解析手法</a></li><li><a href="http://andbrowser.com/android-sdk/1468/june-1-2012-android-platform-versions/" rel="bookmark" class="wherego_title">GB最強の65%。2012年6月1日時点のAndroid Platform バージョンの割合</a></li><li><a href="http://andbrowser.com/au-kddi/525/au-one-market-reinstall/" rel="bookmark" class="wherego_title">au one Marketアプリの再インストール方法</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://andbrowser.com/development/knowhow/883/sdk-tools-r19/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://andbrowser.com/development/knowhow/883/sdk-tools-r19/" />
	</item>
		<item>
		<title>SDK Tools Revision 18更新情報</title>
		<link>http://andbrowser.com/development/knowhow/877/sdk-tools-r18/</link>
		<comments>http://andbrowser.com/development/knowhow/877/sdk-tools-r18/#comments</comments>
		<pubDate>Thu, 03 May 2012 02:59:54 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[KnowHow]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[sdk tools]]></category>

		<guid isPermaLink="false">http://andbrowser.com/?p=877</guid>
		<description><![CDATA[Android SDK Tools Revision 18 の更新情報をわかりやすく記載]]></description>
			<content:encoded><![CDATA[<p><img src="http://andbrowser.com/wp-content/uploads/2012/05/android-sdk-tools-r18.png" alt="Android SDK Tools Revision 18" title="Android SDK Tools Revision 18" width="640" height="480" class="aligncenter size-full wp-image-878" /></p>
<p><a href="http://developer.android.com/sdk/tools-notes.html">SDK Tools, Revision 18</a>の意訳です。完璧な自信はありませんので原文も一緒にご参照ください。</p>
<h4><a href="http://developer.android.com/sdk/tools-notes.html">SDK Tools, Revision 18<em>(2012年4月)</em></a> </h4>
<p class="caution"><strong>重要なお知らせ：</strong> Android SDK Manager から新しいAndroid 4.0 のシステムコンポーネントをダウンロードするために、SDK Tools をバージョン14かそれ以上に更新して、Android SDK Manager を再起動すべきです。もしAndroid 4.0 システムコンポーネントをダウンロードしなければ、必要ありません。</p>
<dl>
<h5>
<dt>依存関係（利用上の前提条件）：</dt>
</h5>
<dd>
<ul>
<li>Android SDK Platform-tools がバージョン9かそれ以上</li>
<li>もしEclipse(ADTを含めて）を利用する場合、注意点があります。SDK Tools r18は ADT 18やそれ以上を利用するように設計されています。ADTプラグインを<a href="http://developer.android.com/sdk/eclipse-adt.html">ADT 18</a>に更新することを強くお薦めします。</li>
<li>もしEclipse以外で開発する場合、 <a href="http://ant.apache.org/">Apache Ant</a> 1.8 かそれ以上を利用すべきです。</li>
</ul>
</dd>
<h5>
<dt>概要：</dt>
</h5>
<p><span id="more-877"></span></p>
<dd>
<ul>
<li>センサーとマルチタッチエミュレーション機能の両方を含めるために、SdkController アプリを更新</li>
</ul>
</dd>
<p><!--more--></p>
<h5>
<dt>不具合修正：</dt>
</h5>
<dd>
<ul>
<li>いくつかのケースで libs/ フォルダ内のいくつかの jar ライブラリが含まれないAntに関するイシューを修正
  </ul>
</dd>
<div id="wherego_related"><h3>このページを見た人は、以下のページも見ています。</h3><ul><li><a href="http://andbrowser.com/development/knowhow/990/android-development-tools-adt-20-0-2/" rel="bookmark" class="wherego_title">Android Development Tools(ADT) 20.0.2 更新情報</a></li><li><a href="http://andbrowser.com/development/knowhow/963/android-adt20/" rel="bookmark" class="wherego_title">Android Development Tools(ADT) 20.0.0 更新情報</a></li><li><a href="http://andbrowser.com/development/knowhow/697/adt-r16-0-1/" rel="bookmark" class="wherego_title">Android Development Tools(ADT) r16.0.1 更新情報</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://andbrowser.com/development/knowhow/877/sdk-tools-r18/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://andbrowser.com/development/knowhow/877/sdk-tools-r18/" />
	</item>
		<item>
		<title>SDK Tools Revision 17更新情報</title>
		<link>http://andbrowser.com/development/knowhow/869/sdk-tools-r17/</link>
		<comments>http://andbrowser.com/development/knowhow/869/sdk-tools-r17/#comments</comments>
		<pubDate>Thu, 03 May 2012 02:44:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[KnowHow]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[sdk tools]]></category>

		<guid isPermaLink="false">http://andbrowser.com/?p=869</guid>
		<description><![CDATA[Android SDK Tools Revision 17 の更新情報をわかりやすく記載]]></description>
			<content:encoded><![CDATA[<p><img src="http://andbrowser.com/wp-content/uploads/2012/05/android-sdk-tools-r17.png" alt="" title="SDK tools revision 17" width="640" height="480" class="size-full wp-image-870" /><br />
<a href="http://developer.android.com/sdk/tools-notes.html">SDK Tools, Revision 17</a>の意訳です。完璧な自信はありませんので原文も一緒にご参照ください。</p>
<h4><a href="http://developer.android.com/sdk/tools-notes.html">SDK Tools, Revision 17<em>(2012年3月)</em></a> </h4>
<p class="caution"><strong>重要なお知らせ：</strong> Android SDK Manager から新しいAndroid 4.0 のシステムコンポーネントをダウンロードするために、SDK Tools をバージョン14かそれ以上に更新して、Android SDK Manager を再起動すべきです。もしAndroid 4.0 システムコンポーネントをダウンロードしなければ、必要ありません。</p>
<dl>
<h5>
<dt>依存関係（利用上の前提条件）：</dt>
</h5>
<dd>
<ul>
<li>Android SDK Platform-tools がバージョン9かそれ以上</li>
<li>もしEclipse(ADTを含めて）を利用する場合、注意点があります。SDK Tools r16は ADT 16やそれ以上を利用するように設計されています。ADTプラグインを<a href="http://developer.android.com/sdk/eclipse-adt.html">ADT 16</a>に更新することを強くお薦めします。</li>
<li>もしEclipse以外で開発する場合、 <a href="http://ant.apache.org/">Apache Ant</a> 1.8 かそれ以上を利用すべきです。</li>
</ul>
</dd>
<h5>
<dt>更新情報：</dt>
</h5>
<dd>
<ul>
<li>エミュレータ
<ul>
<li>ハードウェアアクセラレートされるグラフィックレンダリングのサポートを追加。この機能を利用するためには、APIレベル15 リビジョン3かそれ以降のシステムイメージが必要です。(<a href="http://andbrowser.com/guide/developing/devices/emulator.html#accel-graphics">詳細情報はこちら（英語）</a>)
            </li>
<p><span id="more-869"></span></p>
<li>WindowsとMac OS X 上の virtualization mode で x86システムイメージの動作をサポート(<a href="http://andbrowser.com/guide/developing/devices/emulator.html#accel-vm">詳細情報はこちら（英語）</a>)
<p class="note"><strong>注意点：</strong> x86システムイメージをインストールするための Android SDK Manager の利用方法。Android x86 システムイメージは、すべてのAPIレベルで準備されておりません。</p>
</li>
<li>USB接続された物理Androidデバイスからの入力を受け取るために有効化したエミュレータにおいて、マルチタッチ入力のための実験的なサポートを追加。(<a href="http://tools.android.com/tips/hardware-emulation">詳細情報はこちら（英語）</a>)</li>
</ul>
</li>
<li>DDMS上にアプリのリアルタイムな詳細なネットワーク利用情報の表示機能を追加(<a href="http://tools.android.com/recent/detailednetworkusageinddms">詳細情報はこちら（英語）</a>)</li>
<li>ProGuard
<ul>
<li>バンドルされた ProGuard ツールを Version 4.7 に更新。多数の新機能が追加され、この追加でいつくかのユーザが経験していた「<code>Conversion to Dalvik format failed with error 1</code>」エラーが修正</li>
<li>デフォルトの <code>proguard.cfg</code> ファイルにAndroid向けによりよい設定を標準で追加。</li>
<li>ProGuard設定ファイルを分割。プロジェクト内のプロジェクト固有設定とツールから提供されたAndroid一般設定の２つに分割。</li>
</ul>
</li>
<li>ビルド
<ul>
<li>デバッグモードで実行時のみコードが実行される機能を追加。ビルド向けに新しく作成された<code>BuildConfig</code>クラスに含まれている<code>DEBUG</code>定数を追加。これはビルド時のタイプ（リリースビルド、デバッグビルド）によって自動的に設定されます。<code>BuildConfig.DEBUG</code>定数は、デバッグモード時のみ有効化されます。</li>
<li>プロジェクトとライブラリのライブラリフォルダのいくつかの jar ファイルに関するイシューを修正(<a href="http://tools.android.com/recent/dealingwithdependenciesinandroidprojects">詳細情報はこちら（英語）</a></li>
<li>ライブラリ内にカスタム属性を保持しているカスタムビューのサポートを追加。カスタム属性を利用しているレイアウトは、アプリのパッケージ名に含まれているURIの代わりに必ずネームスペースURI（<code>http://schemas.android.com/apk/res-auto</code>）を利用すべきです。このURIはビルド時にアプリ固有なものに置き換えられます。</li>
</ul>
</li>
<li>Lint
<ul>
<li>Androidアプリのソースコードへの Lint チェックを更新。以前のアプリケーションコードの中から検索をベース（未使用リソースのチェックのような）にした Lint ルールは、木構造をパースしたJavaスタイルをより正確に利用するために上書きされました。</li>
<li>ライブラリプロジェクトをチェックする機能を追加。この変更は、ライブラリプロジェクトと参照されている下位のプロジェクトの中で宣言されているリソースの未使用リソースのようなルールを意味しています。</li>
<li>JavaコードとXMLファイルの中で Lint 警告を抑制する機能として、<code>@SuppressLint</code> アノテーションを追加。例えば、ネームスペースと無視する属性に関して。(<a href="http://tools.android.com/recent/ignoringlintwarnings">詳細情報はこちら（英語）</a>)</li>
<li>新しい Lint チェック：
<ul>
<li>サポート中の最小のAndroid Versionより高いAndroidバージョンを必要としているAndroid API コール向けのチェックを追加。システムバージョン状態をラップしたコードがある場合、警告を抑制するために新しい <code>@TargetApi</code> アノテーションが利用できます。(<a href="http://tools.android.com/recent/lintapicheck">詳細情報はこちら（英語）</a>)</li>
<li><a href="http://tools.android.com/recent/lintperformancechecks">パフォーマンス</a>やXMLレイアウトやマニフェストやファイルハンドリングに関するチェックを含めた 20 を超える新しい Lint ルールを追加。</li>
</ul>
</li>
</ul>
</li>
</ul>
</dd>
</dl>
<div id="wherego_related"><h3>このページを見た人は、以下のページも見ています。</h3><ul><li><a href="http://andbrowser.com/au-kddi/903/au-market-app-install/" rel="bookmark" class="wherego_title">auマーケットの簡単インストール方法</a></li><li><a href="http://andbrowser.com/development/knowhow/963/android-adt20/" rel="bookmark" class="wherego_title">Android Development Tools(ADT) 20.0.0 更新情報</a></li><li><a href="http://andbrowser.com/development/680/sdk-tools-r16/" rel="bookmark" class="wherego_title">SDK Tools r16 更新情報</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://andbrowser.com/development/knowhow/869/sdk-tools-r17/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://andbrowser.com/development/knowhow/869/sdk-tools-r17/" />
	</item>
		<item>
		<title>Android Lint 解析内容の詳細を調査</title>
		<link>http://andbrowser.com/development/knowhow/787/android-lint-check-rule-detail/</link>
		<comments>http://andbrowser.com/development/knowhow/787/android-lint-check-rule-detail/#comments</comments>
		<pubDate>Sun, 25 Dec 2011 12:54:11 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[KnowHow]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[adt]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[lint]]></category>

		<guid isPermaLink="false">http://andbrowser.com/?p=787</guid>
		<description><![CDATA[Android Lint 解析内容の詳細を調査]]></description>
			<content:encoded><![CDATA[<p><img src="http://andbrowser.com/wp-content/uploads/2011/12/20111225_android_list_check.png" alt="android lint check detail" title="android lint check detail" width="578" height="284" class="aligncenter size-full wp-image-809" /></p>
<h4>Android Lintの解析内容の詳細</h4>
<p><a href="http://tools.android.com/tips/lint">Android Lint</a>については、<a href="http://andbrowser.com/development/knowhow/712/android-lint/">前のエントリ</a>をご参照ください。このエントリでは、以下の<code>lintコマンド</code>で表示される lint の解析内容をカテゴリごとに整理し、指摘事項の詳細をまとめました。。</p>
<pre class="brush: bash; highlight: [1]; title: ; notranslate" title="">
$ lint --show
</pre>
<p><span id="more-787"></span></p>
<p>以下の詳細を見る前にいくつかポイントを整理しておきます。</p>
<ul>
<li>優先度(Priority)は数字が大きい（10が最大）ものが高いことを意味します。
<li>重要性（severity)は変更可能。全プロジェクトのみではなく、各プロジェクトごとにも設定可能。変更は、eclipse > preference > Android > Lint Error Checking で実施。<br />
<img src="http://andbrowser.com/wp-content/uploads/2011/12/20111225_lint_detail.png" alt="android lint preference" title="android lint preference" width="105%"/></p>
<li>セーブ時に一部チェックの自動適用の可否を設定可能
<li>アプリパッケージ作成時のフルチェックの可否を設定可可能
<li>指摘項目は適時更新されて追加しているため、掲載不足のものもあります。それらは、<code>lint --showコマンド</code>か preference の Lint Error Checking で詳細をご覧ください。
<li>エラーが発生すると apk 作成を中止するため、重要性(severity)を警告からエラーにする場合は熟慮することをお薦めします。
</ul>
<h4>Lintの解析項目一覧</h4>
<table width="100%" class="lint_detail">
<tr>
<th width="10%">カテゴリ<br />Category</th>
<th width="5%">ID</th>
<th width="15%">概要<br />Name</th>
<th width="5%">優先度<br />Priority</th>
<th width="5%">重要性<br />Severity</th>
<th width="60%">詳細<br />Detail</th>
</tr>
<tr>
<td>正確性</td>
<td>AdapterViewChildren</td>
<td>XML内の子Viewとして定義されていない AdapterView かどうかを調査</td>
<td>10/10</td>
<td>警告</td>
<td>ListViewのようなAdapterViewは、ListAdapterのようなもので、Javaコードからデータを設定しなければなりません。より詳細は、<a href="http://developer.android.com/reference/android/widget/AdapterView.html">http://developer.android.com/reference/android/widget/AdapterView.html</a>を参照ください。</td>
</tr>
<tr class="odd">
<td>正確性</td>
<td>MissingPrefix</td>
<td>Androidネームスペースで利用されていないXML属性を発見</td>
<td>8/10</td>
<td>警告</td>
<td>Android viewたちのほとんどは、Androidネームスペースの属性をもっています。これらの属性を参照する場合は、必ずネームスペースの接頭語をつけるべきです。さもないとカスタム属性として aapt に解釈されます。</td>
</tr>
<tr>
<td>正確性</td>
<td>MissingTranslation</td>
<td>全文字列が翻訳済みかどうかの完全性を調査</td>
<td>8/10</td>
<td>エラー</td>
<td>もしアプリが１言語よりも多い言語をサポートする場合、１言語の全文字列が他の言語にも翻訳されているべきです。標準では、この検出は　言語の地域たちに提供されます。ちょど文字列のサブセットとして提供されたり、標準の言語文字列の代替になります。すべての地域に対して、完全な翻訳を提供するために ANDROID_LINT_COMPLETE_REGIONSという環境変数をセットすることによって、強制できます。</td>
</tr>
<tr class="odd">
<td>正確性</td>
<td>Proguard</td>
<td>proguard.cfg ファイルの問題を調査</td>
<td>8/10</td>
<td>エラー</td>
<td>proguard.cfg ファイルで -keepclasseswithmembernames を利用することは、正しくありません。なぜなら、ADTの新しいバージョンで作成される proguard.cfg ファイルは異なるフォーマットになるためです。<br />-keepclasseswithmembernames の代わりにkeepclasseswithmembers を利用してください。なぜなら過去のフラグもまた、XMLからでJava(CustomViewsのようなもの)でなく参照されるシンボルのみの&quot;allow shrinking&quot;を示しているためです。<br />より詳細情報は、<a href="http://code.google.com/p/android/issues/detail?id=16384">http://code.google.com/p/android/issues/detail?id=16384</a> を見てください。</td>
</tr>
<tr>
<td>正確性</td>
<td>ScrollViewCount</td>
<td>ScrollViewが正しく子ウィジェットが保持しているかを調査</td>
<td>8/10</td>
<td>警告</td>
<td>Scrollviewは1つの子ウィジェットのみを保持できます。もし２つ以上の子を持ちたければ、コンテナレイアウトにまとめて保持させましょう。</td>
</tr>
<tr class="odd">
<td>正確性</td>
<td>DuplicateIds</td>
<td>シングルレイアウトの中で同じIDが存在するかどうかの調査</td>
<td>7/10</td>
<td>警告</td>
<td>レイアウトの中で、IDは一意であるべきです。さもないと findViewById() が予期せぬviewを返します。</td>
</tr>
<tr>
<td>正確性</td>
<td>InconsistentArrays</td>
<td>配列の要素数に矛盾がないかどうかを調査</td>
<td>7/10</td>
<td>警告</td>
<td>配列が他の地域向けに翻訳されるときに、一般的にはオリジナルな配列と同様の要素数にすべきです。配列を追加や削除したときに、すべての地域の更新を簡単に忘れてしまいます。そんため、lint の警告はこれらの矛盾を検出します。</p>
<p>注意：しなしながら本当にそれぞれの設定において（例えば、存在するオプションに相当する配列やそれらのオプションが異なるレイアウトの向きやそれ上の違いがある場合）配列アイテムの要素数が異なるものを利用したい理由がある場合は、自らの判断でエラーかどうかを判断して利用してください。<br />もし間違ったエラーがプロジェクト内にある場合は、そのエラータイプを抑止できます。</td>
</tr>
<tr class="odd">
<td>正確性</td>
<td>NestedScrolling</td>
<td>スクロールするウィジェットが何かのスクロールするウィジェットの中に入っているかかどうかを調査</td>
<td>7/10</td>
<td>警告</td>
<td>ScrollViewのようなスクロールするViewは、重要なユーザビリティ問題のため、何かのネストされたスクロールウィジェットを中に含めるべきではありません。</td>
</tr>
<tr>
<td>正確性</td>
<td>ScrollViewSize</td>
<td>ScrollViewがスクロール範囲の中で WRAP_CONTENT を利用しているかどうかをチェック</td>
<td>7/10</td>
<td>警告</td>
<td>ScrollView の子たちは、layout_width か layout_height 属性に wrap_content よりもむしろ fill_parent か match_parent をスクロール領域の中で指定すべきです。</td>
</tr>
<tr class="odd">
<td>正確性</td>
<td>DuplicateIncludedIds</td>
<td>include tag を利用して結合したレイアウトにわたって同じIDが利用されているかどうかをチェック</td>
<td>6/10</td>
<td>警告</td>
<td>同じIDを２つの独立したレイアウトに利用することは良いことです。しかしながら、もしレイアウトを include tag して結合した場合、IDはincludeされたレイアウトの連鎖の中で一意な必要性がある、もしくはActivity#findViewById()は期待しないViewを返します。</td>
</tr>
<tr>
<td>正確性</td>
<td>ExtraTranslation</td>
<td>利用されていない（標準言語向け文字列で存在しない）ように見える翻訳をチェック</td>
<td>6/10</td>
<td>警告</td>
<td>もし、ある文字列が特定の言語向けの翻訳ファイルで現れた場合で、標準の地域(locale)に同じ文字列が存在しない場合があれば、たぶんこの文字列は利用されていないだろう。（あなたのアプリが特別な地域(locale)のみで動作するように意図したものであれば、技術的にこの可能性がありますが、しかし代替を準備するよりはまだまだ良案です。）</td>
</tr>
<tr class="odd">
<td>正確性</td>
<td>ManifestOrder</td>
<td>&lt;application&gt;タグの後ろに&lt;uses-sdk&gt;が存在するようなマニフェストの問題を調査</td>
<td>5/10</td>
<td>警告</td>
<td>&lt;application&gt;タグは、必要なversion情報やfeatureやlibrariesなどの宣言タグの後に現れるべきです。<br />&lt;application&gt;タグがいくつかの他のタグより前に現れたときは過去に複雑なバグが存在しました。<br />そのためロジカルな依存順序でマニフェストに並べるのがベストです。</td>
</tr>
<tr class="odd">
<td>正確性</td>
<td>StateListReachable</td>
<td>&lt;selector&gt;の中で到達できない状態(state)を調査</td>
<td>5/10</td>
<td>警告</td>
<td>selectorの中で、state list の最後の子のみが state修飾詞を除外すべきです。もしそうでなければ、リストのすべての次にくる項目は与えられた項目がすべてマッチするために無視されるでしょう。</td>
</tr>
<tr>
<td>正確性</td>
<td>GridLayout</td>
<td>行と列が外部で宣言されているような場合のGridLayoutの潜在的なエラーを調査。</td>
<td>4/10</td>
<td>エラー</td>
<td>GridLayoutのrowCountかcolumnCountのサイズの宣言が外部のlayout_rowやlayout_columnで定義されている場合、たいてい故意ではないエラーになります。</td>
</tr>
<tr class="odd">
<td>正確性</td>
<td>PxUsage</td>
<td>&quot;px&quot;単位の利用を調査</td>
<td>2/10</td>
<td>警告</td>
<td>パフォーマンスの理由とコードをシンプルに保つために、Androidシステムは指定された範囲のスタンダードなユニットや指定された値のためにピクセルを利用します。<br />この意味はviewの範囲はいつもピクセルを利用してコード上から設定されますが、しかしいつも現在のスクリーン density をベースに設定されます。例えば、もし、myView().getWidth() が10を返すとき、viewは現在の画面の10ピクセルの横の長さがありますが、しかしdensityの高い画面の端末の場合、15を返す可能性があります。もしアプリの中で現在のスクリーンdensityに拡大されないビットマップとともにピクセルの値を利用していると、自らのコードでビットマップリソースを画面に合うようにスケールさせる必要があります。</td>
</tr>
<tr>
<td>セキュリティ</td>
<td>ExportedService</td>
<td>パーミッションを必要としない exported Service(&lt;service&gt;タグのandroid:exported=&quot;true&quot;の場合）を調査</td>
<td>5/10</td>
<td>警告</td>
<td>Exported services(exported=true か intent-filder を含んでいるか、exported=falseを明示していないか）はパーミッションを定義すべきです。これはサービスを起動するか、バインドするために必要です。これがない場合、アプリはこのサービスを利用できません。</td>
</tr>
<tr class="odd">
<td>パフォーマンス</td>
<td>UseCompoundDrawables</td>
<td>現在のノードが 複合（compound) drawable を利用した TextView に置き換えられるかどうかを調査</td>
<td>6/10</td>
<td>警告</td>
<td>ImageViewとTextViewを含んだLinearLayoutは、結合したdrawableとして扱われて、パフォーマンスが向上します。</td>
</tr>
<tr class="odd">
<td>パフォーマンス</td>
<td>MergeRootFrame</td>
<td>ルーツの&lt;FrameLayout&gt;が&lt;merge&gt;タグで置き換えられるかどうかを調査</td>
<td>4/10</td>
<td>警告</td>
<td>&lt;FrameLayout&gt;がレイアウトのルートであり、背景やパディングが提供されていない場合、パフォーマンス向上のために&lt;merge&gt;タグに入れ替えできます。</td>
</tr>
<tr>
<td>パフォーマンス</td>
<td>InefficientWeight</td>
<td>LinearLayout内で無効な weight 指定を調査</td>
<td>3/10</td>
<td>警告</td>
<td>LinearLayoutの中の１つのウィジェットしか weight を定義していないとき、残ったすべてのスペースを割り当てるために、0dpをwidth/heightに設定することによりパフォーマンス向上が見込める。Width/heightに 0dp が定義されている場合は、最初に自身のサイズは計算されません。</td>
</tr>
<tr class="odd">
<td>パフォーマンス</td>
<td>UnusedResources</td>
<td>未使用リソースを調査</td>
<td>3/10</td>
<td>警告</td>
<td>利用していないリソースは、アプリを大きくし、ビルド時の速度が遅くしてしまいます。</p>
<p>制限事項：<br />-もしEclipseに関わらずコマンドラインからlintを実行している場合、Javaファイルの解析は正確なパースツリーを利用するよりむしろパターンパッチが適応されます。そのため、結果は正確ではありません。（この制限は将来対応予定です。）<br />-解析は、ライブラリプロジェクトで定義されているリソースやライブラリプロジェクトが参照しているリソースの間の依存関係を考慮できません。そのとき、リソースはまだ利用されていませんと通知されます。</td>
</tr>
<tr>
<td>パフォーマンス</td>
<td>UselessLeaf</td>
<td>削除可能な子要素かどうかを調査</td>
<td>2/10</td>
<td>警告</td>
<td>子も背景も持たないレイアウトは、よりフラットにしたり効果的なレイアウト階層にするために削除できます（invisibleなため）。</td>
</tr>
<tr class="odd">
<td>パフォーマンス</td>
<td>UselessParent</td>
<td>削除可能な親要素かどうかを調査</td>
<td>2/10</td>
<td>警告</td>
<td>子を持たないレイアウトは、ルートレイアウトか scrollview ではありませんし、背景を持たず、削除可能であり、子たちを親に移動させたり、より効果的なレイアウト階層に変更することができます。</td>
</tr>
<tr>
<td>パフォーマンス</td>
<td>TooDeepLayout</td>
<td>レイアウト階層が深すぎるかどうかを調査</td>
<td>1/10</td>
<td>警告</td>
<td>レイアウトのネストが深すぎる場合はパフォーマンスを低下させます。そのため（RelativeLayoutやGridLayoutのような）フラットなレイアウトの利用を検討してください。標準の最大の深さは10ですが、この設定は環境変数のANDROID_LINT_MAX_DEPTHで設定できます。</td>
</tr>
<tr class="odd">
<td>パフォーマンス</td>
<td>TooManyViews</td>
<td>viewの数が多すぎるかどうかを調査</td>
<td>1/10</td>
<td>警告</td>
<td>１つのレイアウトにたくさんのViewを使うことは、パフォーマンスを低下させます。統合したdrawableや他の仕組みを利用して、レイアウトのviewの数を減らすように検討してください。</td>
</tr>
<tr>
<td>パフォーマンス</td>
<td>UnusedIds</td>
<td>未使用のIDを調査</td>
<td>1/10</td>
<td>警告</td>
<td>重要：この設定はデフォルトで無効です。有効にしたい場合は、&#8211;enable UnusedIds を　してください。</p>
<p>リソースID定義は、どこからも参照されない場合は必要ありません。ID定義を行う場合は、たとえ利用しない場合であっても、レイアウトやメニュー上で簡単に動作するため、悪い考えであり必要ありません。そのため削除したほうがよいでしょう。</td>
</tr>
<tr class="odd">
<td>ユーザビリティ</td>
<td>TextFields</td>
<td>inputTypeやヒント設定の間違ったテキストフィールドを調査</td>
<td>5/10</td>
<td>警告</td>
<td>テキストフィールドにinputType属性が提供されていることは、ユーザビリティの改善に有効です。なぜなら入力されるデータが独立していて、最適なキーボードをユーザに提供できるためです（電話番号のための数字のみや文字のみのように）。同様に、ヒント属性はユーザにテキストフィールドに何を期待するかを表示することができます。</td>
</tr>
<tr>
<td>ユーザビリティ：アイコン</td>
<td>IconNoDpi</td>
<td>nodpiフォルダとdpiフォルダの両方にアイコンが存在するかを調査</td>
<td>7/10</td>
<td>警告</td>
<td>drawable-nodpiフォルダのビットマップは、Androidフレームワークによってスケールされません。もし同じ名前のdrawableリソースが drawable-hdpiのようなdpiフォルダと同様に-nodpiフォルダに存在する場合、あいまいであり、国際化できない振る舞いになります。<br />１つか他のものを削除して、他のアイコンを利用してください。</td>
</tr>
<tr class="odd">
<td>ユーザビリティ：アイコン</td>
<td>GifUsage</td>
<td>GIFファイル（非推奨）が利用されてる画像を調査</td>
<td>5/10</td>
<td>警告</td>
<td>.gifファイルフォーマットは非推奨です。.pngか.jpgの利用を検討してください。</td>
</tr>
<tr>
<td>ユーザビリティ：アイコン</td>
<td>IconDipSize</td>
<td>densityごとのアイコンたちが概ね同じdensity-independentサイズかどうかを確認</td>
<td>5/10</td>
<td>警告</td>
<td>複数のdensityに提供されるすべてのアイコンがチェックされて、すべてが同じdensity非依存ピクセル(dpi)サイズであることを計算します。これは画像が異なるフォルダに入っていたり、アイコンがいくつかのフォルダが忘れられて新しいサイズに変更されるエラーを検出します。</td>
</tr>
<tr class="odd">
<td>ユーザビリティ：アイコン</td>
<td>IconDuplicatesConfig</td>
<td>様々設定パラメータを通した同一のビットマップのアイコンを探索</td>
<td>5/10</td>
<td>警告</td>
<td>もしアイコンがdrawable-hdpiか-v11のような異なる設定パラメータで提供された場合、それらは一般的に異なるものです。この検出は、同じアイコンが国際化ではなく異なる設定フォルダーに提供されている場合に動作します。</td>
</tr>
<tr>
<td>ユーザビリティ：アイコン</td>
<td>IconExpectedSize</td>
<td>ランチャーアイコン、ノーティフィケーションアイコンなどが正しいサイズかどうかを確認</td>
<td>5/10</td>
<td>警告</td>
<td>ランチャーアイコンには事前に定義されたサイズがあります（それぞれのdensityごとに）。これらの規約に従う必要があり、アイコンをプラットフォームごとにフィットさせる必要があります。<br />より詳細は、<a href="http://developer.android.com/guide/practices/ui_guidelines/icon_design_launcher.html#size">http://developer.android.com/guide/practices/ui_guidelines/icon_design_launcher.html#size</a> を参照してください。</td>
</tr>
<tr class="odd">
<td>ユーザビリティ：アイコン</td>
<td>IconLocation</td>
<td>densityごとのdrawableフォルダに画像が配置されていないことを確認</td>
<td>5/10</td>
<td>警告</td>
<td>res/drawableフォルダは、XML内にshapeで定義されたような density非依存なグラフィックスのために定義されています。ビットマップの場合、drawable-mdpiに移動したり、より高い解像度や低い解像度のものをdrawable-ldpiやdrawable-hdpiやdrawable-xhdpiに振り分ける検討を行いますもし、アイコンが&quot;本当に&quot;density 非依存の場合（たとえば、solid color）、drawable-nodpi フォルダに入れられます。</td>
</tr>
<tr>
<td>ユーザビリティ：アイコン</td>
<td>IconDensities</td>
<td>すべてのサポートされるdensity に対してアイコンのカスタムバージョンを提供することを確認する</td>
<td>4/10</td>
<td>警告</td>
<td>アイコンは、主要な screen density class(low, medium, high, extra high)のそれぞれに対してカスタムバージョンを提供し、ベストな見栄えになります。このlintは、それぞれのアイコンたちが density の種別を完全にカバーしていないかどうかをチェックします。<br />Low density は、あまり多く利用されていないため、このチェックは無視されます。それを強制的に適用させたい場合は、環境変数の値に、ANDROID_LINT_INCLUDE_LDPI=true と設定してください。現在の density の利用方法の詳細は、<a href="http://developer.android.com/resources/dashboard/screens.html">http://developer.android.com/resources/dashboard/screens.html</a> を参照ください。<br />さらなる詳細情報は、<a href="http://developer.android.com/guide/practices/screens_support.html">http://developer.android.com/guide/practices/screens_support.html</a> を参照ください。</td>
</tr>
<tr class="odd">
<td>ユーザビリティ：アイコン</td>
<td>IconDuplicates</td>
<td>他の名前でコピーされたアイコンを探索</td>
<td>3/10</td>
<td>警告</td>
<td>もしアイコンが他の名前で再利用されている場合、統合して１つのみを利用するようにしたり、他を削除してアプリをより小さくできます。<br />しかしながら、複製されたアイコンは通常国際化されなかったり、ときどき上書きされたり、更新忘れが発生します。</td>
</tr>
<tr>
<td>ユーザビリティ：アイコン</td>
<td>IconMissingDensityFolder</td>
<td>すべてのdensity フォルダが準備さされていることを確認</td>
<td>3/10</td>
<td>警告</td>
<td>アイコンは、主要な screen density class(low, medium, high, extra high)のそれぞれに対してカスタムバージョンを提供し、ベストな見栄えになります。このlintは、特定フォルダが drawable-hdpi のように間違っていたりすることをチェックします。<br />Low density は、あまり多く利用されていないため、このチェックは無視されます。それを強制的に適用させたい場合は、環境変数の値に、ANDROID_LINT_INCLUDE_LDPI=true と設定してください。現在の density の利用方法の詳細は、<a href="http://developer.android.com/resources/dashboard/screens.html">http://developer.android.com/resources/dashboard/screens.html</a> を参照ください。<br />さらなる詳細情報は、<a href="http://developer.android.com/guide/practices/screens_support.html">http://developer.android.com/guide/practices/screens_support.html</a> を参照ください。</td>
</tr>
<tr class="odd">
<td>アクセシビリティ</td>
<td>ContentDescription</td>
<td>イメージウィジェットがコンテンツの説明を提供しているかどうかを確認</td>
<td>3/10</td>
<td>警告</td>
<td>ImageViewやImageButtonのようなテキストではないウィジェットは、画面でよめたり、他のアクセサビリティツールが十分にユーザインタフェースを保持できるようにウィジェットのテキスト説明文で特定できるように、contentDescription属性を利用すべきです。</td>
</tr>
<tr>
<td>国際化</td>
<td>HardcodedText</td>
<td>リソースに定義すべき、ハードコードされた文字列属性を調査</td>
<td>5/10</td>
<td>警告</td>
<td>レイアウトファイル内で直接ハードコードされたテキスト属性は、以下のいくつかの理由により駄目です。<br />-コンフィルレーションの種類が作られたとき（例えば、landscapeかportraitかのような）には、正確なテキストを繰り返し利用すべきです。（変更時に最新の状態をキープするため）<br />-アプリは既存の文字列リソースを新しい言語に翻訳したいとときにすぐに、他の言語に翻訳できない。</td>
</tr>
</table>
<p>Antoid Lint はまだまだ開発が並行して進んでいるため、上記のID以外にもこれからどんどん追加されていくと思います。このスピード感と様々なオープンテクノロジーの採用（Lintもそのうちの１つ）が Android 普及の鍵だと感じているので、もっと進んでいってもらいたいと個人的には思っています。</p>
<div id="wherego_related"><h3>このページを見た人は、以下のページも見ています。</h3><ul><li><a href="http://andbrowser.com/android-sdk/3498/httpsjcenter-bintray-comcomandroidtoolsbuildgradle/" rel="bookmark" class="wherego_title">https://jcenter.bintray.com/com/android/tools/build/gradle/</a></li><li><a href="http://andbrowser.com/development/knowhow/65/eclipse-android-memory-leak-mat/" rel="bookmark" class="wherego_title">メモリリークを発見！Androidアプリのメモリ解析手法</a></li><li><a href="http://andbrowser.com/android-sdk/2780/20140627_sdk_manager_material_ver3/" rel="bookmark" class="wherego_title">(2014/06/27時点)SDK Managerが取得するXMLデータ一覧（その３）</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://andbrowser.com/development/knowhow/787/android-lint-check-rule-detail/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://andbrowser.com/development/knowhow/787/android-lint-check-rule-detail/" />
	</item>
		<item>
		<title>Android Support Package Rivision6 更新情報</title>
		<link>http://andbrowser.com/development/knowhow/770/android-support-package-r6/</link>
		<comments>http://andbrowser.com/development/knowhow/770/android-support-package-r6/#comments</comments>
		<pubDate>Thu, 22 Dec 2011 03:10:46 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[KnowHow]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[fragment]]></category>
		<category><![CDATA[support package]]></category>
		<category><![CDATA[ViewPager]]></category>

		<guid isPermaLink="false">http://andbrowser.com/?p=770</guid>
		<description><![CDATA[Android Support Package Rivision6の更新情報を掲載]]></description>
			<content:encoded><![CDATA[<p><img src="http://andbrowser.com/wp-content/uploads/2011/12/andoird_support_package_r6.png" alt="Andoird Support Package Rivision 6" title="Andoird Support Package Rivision 6" width="480" height="316" class="aligncenter size-full wp-image-774" /></p>
<h4>
<p><a href="http://developer.android.com/sdk/compatibility-library.html">サポートパッケージ, リビジョン 6</a> (2011年12月)</p>
</h4>
<p><a href="http://developer.android.com/sdk/compatibility-library.html">Support Package, r6</a> の意訳です。完璧な自信はありませんので原文と一緒にご覧ください。</p>
<p class="note"><strong>重要:</strong> サポートライブラリAPIのリファレンスは、フレームワークのリファレンスと一緒に現在提供されています。例：<br />
<code><a href="http://developer.android.com/reference/android/support/v4/app/package-summary.html">android.support.v4.app</a></code></p>
<p><span id="more-770"></span></p>
<dl>
<h5>
<dt>v4 サポートライブラリの更新情報：</dt>
</h5>
<dd>
<ul>
<li>ViewPagerの変更点：
<ul>
<li><code><a href="http://developer.android.com/reference/android/support/v4/view/ViewPager.html">ViewPager</a></code>に特別な装飾用の view support を追加。装飾用Viewは、XMLレイアウト内でページャーの子ビューとして提供されるだろう。</li>
<li>ページにタイトル文字列を取得するために<code><a href="http://developer.android.com/reference/android/support/v4/view/PagerAdapter.html#getPageTitle(int)">PagerAdapter.getPageTitle()</a></code>を追加。各ページのデフォルト値はありません。</li>
<li><code><a href="http://developer.android.com/reference/android/support/v4/view/PagerTitleStrip.html">PagerTitleStrip</a></code>を追加。簡単なタイトルの分解(strip)を行い、ViewPager の子として追加できます。開発者はテキスト装飾(appearance)とカラーをレイアウトのサイズや重力(gravity)情報と同様に設定できます。</li>
<li>アダプタの実装においてクラスのキャストを避けるため View よりもむしろ ViewGroup オブジェクトに対応できるように<code><a href="http://developer.android.com/reference/android/support/v4/view/PagerAdapter.html">PagerAdapter</a></code> メソッドを更新。</li>
<li>Launcher-styleという（フリックで）投げるような振る舞いを利用するために<code><a href="http://developer.android.com/reference/android/support/v4/view/ViewPager.html">ViewPager</a></code>を更新。</li>
<li>ユーザ員らフェースやテストの自動化に関する不具合を修正。</li>
</ul>
</li>
<li>Fragmentのサポート：
<ul>
<li><code>setStartDeferred()</code> メソッドを<code><a href="http://developer.android.com/reference/android/support/v4/app/Fragment.html#setUserVisibleHint(boolean)">setUserVisibleHint(boolean)</a></code>に変更。</li>
<li>オフスクリーンページのための遅延スタートを追加。パフォーマンス改善のため。</li>
</ul>
</li>
<li>アクセサビリティAPIのサポート：
<ul>
<li>nullの代わりに空リストが返るように<code><a href="http://developer.android.com/reference/android/support/v4/view/AccessibilityDelegateCompat.html">AccessibilityDelegateCompat</a></code> メソッドを更新。</li>
<li>v4サンプルに新しいAPIを追加。</li>
</ul>
</li>
</ul>
</dd>
</dl>
<div id="wherego_related"><h3>このページを見た人は、以下のページも見ています。</h3><ul><li><a href="http://andbrowser.com/android-sdk/3498/httpsjcenter-bintray-comcomandroidtoolsbuildgradle/" rel="bookmark" class="wherego_title">https://jcenter.bintray.com/com/android/tools/build/gradle/</a></li><li><a href="http://andbrowser.com/development/knowhow/787/android-lint-check-rule-detail/" rel="bookmark" class="wherego_title">Android Lint 解析内容の詳細を調査</a></li><li><a href="http://andbrowser.com/development/knowhow/963/android-adt20/" rel="bookmark" class="wherego_title">Android Development Tools(ADT) 20.0.0 更新情報</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://andbrowser.com/development/knowhow/770/android-support-package-r6/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://andbrowser.com/development/knowhow/770/android-support-package-r6/" />
	</item>
		<item>
		<title>Android Lint の利用方法</title>
		<link>http://andbrowser.com/development/knowhow/712/android-lint/</link>
		<comments>http://andbrowser.com/development/knowhow/712/android-lint/#comments</comments>
		<pubDate>Sun, 18 Dec 2011 12:55:16 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[KnowHow]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[lint]]></category>

		<guid isPermaLink="false">http://andbrowser.com/?p=712</guid>
		<description><![CDATA[Android Lint の利用方法を記載]]></description>
			<content:encoded><![CDATA[<p><img src="http://andbrowser.com/wp-content/uploads/2011/12/20111218_AndroidLint.png" alt="Android Lint" title="Android Lint" width="508" height="274" class="aligncenter size-full wp-image-713" /></p>
<p><a href="http://tools.android.com/tips/lint">Android Lint</a>の意訳です。完璧な自信はありませんので原文も一緒にご参照ください。</p>
<h4><a href="http://tools.android.com/tips/lint">Android Lint</a></h4>
<p>Android Lintは、ADT16(とSDK Tools 16)のための新しいツールです。これは、Androidプロジェクトのソースコードの潜在的な不具合を発見するためのものです。このツールは、Eclipseに統合されて利用されます。アーキテクチャは、意図的に IDE と依存関係を持っていません。そのため、継続的インテグレーションシステム(CI)のようなシステムと同様に他のIDEやビルドツールにも統合されることが望まれています。</p>
<p><span id="more-712"></span></p>
<p><img src="http://andbrowser.com/wp-content/uploads/2011/12/lint-html-small.png" alt="" title="lint-html-small" width="330" height="294" class="aligncenter size-full wp-image-745" /></p>
<p>以下に不具合の種類をいくつかの例を交えて紹介します。</p>
<ul>
<li>翻訳の失敗（と、利用されていない翻訳）
<li>レイアウトパフォーマンスの問題（以前の layoutopt ツールで発見されていたものとそれより多くのもの）
<li>未使用のリソース
<li>矛盾する配列サイズ（配列がマルチ構成で定義されている場合）
<li>アイコンに関する問題（densityの間違いやアイコンのコピーや間違ったサイズなど）
<li>ユーザビリティに関する問題（テキストフィールドに入力種類が指定されていないのようなもの）
<li>Manifestのエラーに関すること
<li>その他、たくさんのこと
</ul>
<p>2011/11/24：<a href="http://tools.android.com/recent/newlintrules">いくつかの新しい lint ルールを追加</a></p>
<p>この<a href="http://tools.android.com/tips/lint-checks">ドキュメント</a>を参照してください。これには lint で現在チェックされるすべての項目が掲載されています。<br />
Lint はまだ開発中のため、このリストは将来追加されていきます。加えて、将来カスタムなチェック項目を（できる限り簡単に）追加できるようなAPIを開発しています。</p>
<h4>コマンドライン利用方法</h4>
<p><code>lint</code>というコマンドラインツールが SDK tools/ ディレクトリに提供されています。<br />
もしSDK tools/ ディレクトリにパスが通っていれば “<code>lint</code>”を実行できます。<br />
実行時にAndroidプロジェクトディレクトリを指定してください。任意のディレクトリが指定可能で、(Androidプロジェクトではない場合）再帰的に探索されますし、ディレクトリ内のすべてのプロジェクトがチェック対象になります。（さらにスペース区切りで複数のプロジェクトを指定することもできます）</p>
<pre class="brush: bash; highlight: [1]; title: ; notranslate" title="">
$ lint /src/astrid/
Scanning GreenDroid-GoogleAPIs: ..
Scanning stream: ...
Scanning api: ...........................
Scanning GDCatalog: .......................
Scanning GreenDroid: ...........................................................
Scanning tests: ...
Scanning filters: ....
Scanning tests: .....
Scanning astrid: ....................................................................................................................................................
Scanning simple: .......
api/res/values-ca: Error: Locale ca is missing translations for: sync_SPr_bgwifi_key, sync_SPr_forget_key, sync_SPr_interval_values, sync_SPr_logged_in_prefix... (2 more) [MissingTranslation]
astrid/res/values-ca: Error: Locale ca is missing translations for: DLG_cancel, DLG_dismiss, DLG_ok, EPr_deactivated... (117 more) [MissingTranslation]
api/res/values-cs: Error: Locale cs is missing translations for: sync_SPr_bgwifi_key, sync_SPr_forget_key, sync_SPr_interval_values, sync_SPr_logged_in_prefix... (2 more) [MissingTranslation]
(many lines omitted)
43 errors, 466 warnings
</pre>
<h5>チェックの無効化</h5>
<p>エラーメッセージの後に、鍵括弧（[や]）でエラーの様々な種別を表す id が表示されます。<br />
上記の “MissingTranslation” のようなものです。<br />
指定したチェック項目やチェックのリストを &#8211;disable オプションを追加することによって無効化できます。<br />
例えば以下のように。<br />
<script class="brush: shell;" type="syntaxhighlighter">
$ lint --disable MissingTranslation,UnusedIds,Usability:Icons /src/astrid/
</script></p>
<p>Usability カテゴリーの Icons サブカテゴリーのように、上記の “Usability:Icons” の記載を行い、カテゴリーリストを作成できます。<br />
デフォルトではいくつかのチェックが無効化されています。それらは、 &#8211;enable フラグを追加することによって有効化できます。<br />
最終的に、&#8211;check フラグを利用して正確に確認できます。以下のようにコードベース内の特定の問題を見つけられます。<br />
<script class="brush: shell;" type="syntaxhighlighter">
$ lint --check MissingPrefix /src/astrid/
</script></p>
<p>利用可能な id とカテゴリーは以下のように探せます。</p>
<pre class="brush: bash; highlight: [1]; title: ; notranslate" title="">
$ lint --list
Valid issue categories:
Correctness
Security
Performance
Usability
Usability:Icons
Accessibility
Internationalization

Valid issue id's:
"ContentDescription": Ensures that image widgets provide a contentDescription
"DuplicateIds": Checks for duplicate ids within a single layout
"StateListReachable": Looks for unreachable states in a &lt;selector&gt;
"InefficientWeight": Looks for inefficient weight declarations in LinearLayouts
"ScrollViewSize": Checks that ScrollViews use wrap_content in scrolling dimension
"MergeRootFrame": Checks whether a root &lt;FrameLayout&gt; can be replaced with a &lt;merge&gt; tag
...
</pre>
<p>各項目の利用方法を取得できます。&#8211;show コマンドオプションに id やカテゴリーを指定してください。（引数を省略するとすべての説明が見れます）</p>
<pre class="brush: bash; highlight: [1]; title: ; notranslate" title="">
$ lint --show MissingPrefix
MissingPrefix
-------------
Summary: Detect XML attributes not using the Android namespace

Priority: 8 / 10
Severity: Warning
Category: Correctness

Most Android views have attributes in the Android namespace. When
referencing these attributes you *must* include the namespace prefix,
or your attribute will be interpreted by aapt as just a custom
attribute.
</pre>
<h5>HTML レポート</h5>
<p>コマンドラインツールからHTMLレポートも作成できます。生の lint 出力よりもいくつかの以下の利点があります。</p>
<ul>
<li>各項目ごとにより詳細な説明が記載されます。それにハイパーリンクを用いて各項目の属性やより詳細情報を提供できます。
<li>エラーが存在する実際のソースコードを掲載できます（エラーの周りの3行程度）
<li>ソースファイルを結合するリンクを含められます。
<li>アイコンエラー時に、比較できるようにそれぞれのアイコンをサポートされます。
</ul>
<p>HTMLレポートを作成するために、&#8211;html filename の引数を追加してください。</p>
<pre class="brush: bash; highlight: [1]; title: ; notranslate" title="">
$ lint --html /tmp/report.html
</pre>
<p>By default, links to source files will just use local file:// path resources. You can remap the URLs to a different prefix with the &#8211;url option. For example:</p>
<p>デフォルトでは、ローカルファイルの file:// パスを利用してソースファイルをリンクします。&#8211;url オプションを利用して異なる接頭語を利用して URL にリンクできます。</p>
<pre class="brush: bash; highlight: [1]; title: ; notranslate" title="">
$ lint --html /tmp/report.html --url /src/MyProj=http://buildserver/src/MyProj
</pre>
<h5>その他のコマンドラインオプション</h5>
<p><code>"lint --help"</code>を実行すれば、詳細情報や利用可能なオプションが表示されます。</p>
<h4>Eclipse での利用方法</h4>
<p>Lint は ADT 16 に統合されています。これによって lint のコマンドラインバージョンの上記のような機能が提供されます。</p>
<ul>
<li>多数の警告の自動的修正。
<li>Lint が様々な編集時に自動的に実行されます。
<li>エラーの特定事例と同様にエラーを抑止する機能があります。
<li>厳格に項目を設定する機能があります。
<li>lint view から問題のソースコードに直接ジャンプできます。
</ul>
<h5>Lintの自動実行</h5>
<p>Lint は以下の場合に自動的に実行されます。</p>
<ul>
<li>APKを作成時。この場合、lint は致命的なエラーのみの調査を行う特別なモード（高速に実行するため）で実行されます。そして、もし致命的なエラーが有る場合はapk作成が中止されます。この機能は Lint オプションで停止できます。
<li>レイアウトファイルや manifest ファイルのようなXMLファイルを編集や保存した場合。この場合、すべてのファイル内で調査が実施されて、調査結果がエディタのマーカーとして表示されます。
<li>レイアウトエディタを利用する場合。UI操作を行うたびに、ファイル内調査（layouoptの様々なルールのような）がレイアウトファイルに実行されて、lint window(レイアウトエディタの上部の左コーナーに表示されるエラーやマーカーから開いたり)が表示されます。
</ul>
<h5>Lint Window</h5>
<p><img src="http://andbrowser.com/wp-content/uploads/2011/12/lint-toolbar.png" alt="" title="lint-toolbar" width="399" height="228" class="aligncenter size-full wp-image-747" /></p>
<p>プロジェクト上で Lint を実行するために、パッケージエクスプローラからプロジェクトを選択し、Lint ツールバーアクション（画像の左上）をクリックします。</p>
<p>代わりの方法として、プロジェクト右クリックからAndroid Toolsのサブメニューから&#8221;Run Lint&#8221;を実行。これにより、Lint Windows が開かれてエラーが追加されます。エラーを選択すると、詳細説明が右のテキストエリアに表示されます。</p>
<p>Lint View でエラーをダブルクリックするとソースファイルのエラーの箇所にジャンプします。それぞれの警告のアイコンは重要性を示しており、警告の修正方法（次のセクションで紹介）が小さな電球で表示されます。</p>
<p>Windows にはアクションバーがあり（上部の右側の端の角）、以下のことをしてくれます。</p>
<ul>
<li>lintを再実行して、結果を更新できます。（更新中の間、ストップボタンで中止もできます）
<li>もし修正を無視したければ、エラーを修正済みにできます。
<li>警告のマーカーを削除します。
<li>すべての警告マーカーを削除します。
</ul>
<p><img src="http://andbrowser.com/wp-content/uploads/2011/12/lint-window2.png" alt="" title="lint-window2" width="738" height="285" class="aligncenter size-full wp-image-750" /></p>
<h5>クイック修正</h5>
<p>多数の lint 警告は自動修正機能を持っています。たとえば、様々な layoutopt 修正項目は修正候補を出してくれます（例：wap_contentを 0dp に置き換える）</p>
<ul>
<li>lint view から、電球をクリックして修正する
<li>レイアウトエディタの警告から、Fixボタンを押して修正する
<li>XMLソースエディタから、Quick Fix(Ctrl-1 or Command-1)を実行したり、警告に関連づけられている修正を選択する。
</ul>
<h5>エラーの抑止</h5>
<p>エディタの Quick Fix メニューから以下の選択ができます。</p>
<ul>
<li>このファイル内のみ無視する
<li>このプロジェクト内で無視する
<li>ある期間、警告を無視する
</ul>
<p><img src="http://andbrowser.com/wp-content/uploads/2011/12/lint-fix.png" alt="" title="lint-fix" width="659" height="174" class="aligncenter size-full wp-image-752" /></p>
<p>（もし quickfix 上の lint 修正アクションが見つからなければ、既知の不具合を見てください。）</p>
<p>これらの選択肢は、プロジェクトの lint.xml に保存されており、コマンドラインツールによって見ることができます。<br />
このように、UI上から警告を無視することができ、ソースプロジェクトのlint.xml ファイルを確認し、lint実行時の他の項目も無視設定したものは、表示されなくなります。（たぶん、手動で検証したみた結果）</p>
<h5>オプション</h5>
<p>すべてのプロジェクトで利用されるオプションのlint 全体オプションを編集するには、通常のEclipse オプションのndroid > Lint Options を選択してください。</p>
<p><img src="http://andbrowser.com/wp-content/uploads/2011/12/lint-options2.png" alt="" title="lint-options2" width="576" height="545" class="aligncenter size-full wp-image-755" /></p>
<p>すべてのプロジェクトで利用されるオプションのlint 全体オプションを編集するには、通常のEclipse オプションのndroid > Lint Options を選択してください。</p>
<p>オプションの項目を選択した場合、右下のドロップダウンから Severity(厳密性）（訳者注釈：errorにするかwarningにするか）を設定できます。これによって正確に項目をエラーにするかどうかを設定できます。（例えば、ダイアログのトップ近くにあるAPK作成時に中止する。など）</p>
<p>項目のチェックをオフにする場合は、severityで<code>“Ignore”</code>を選択してください。</p>
<p>lint 設定をプロジェクト毎に編集しないように注意してください。プロジェクト設定ダイアログを開いて（プロジェクト上で右クリック）、Android Lint の設定ページを探してください。オプションダイアログで手動でSeverityを設定するとエラーを抑止すると共に lint.xml ファイルに記録されます。それから、チーム内の他の項目は、プロジェクト内で設定した同じものを利用できます。</p>
<h5>インストール方法</h5>
<p>いまわかっていることだけでいうと、ADT16に早くアクセスできるように計画しています。（訳者注：すでにADT16.0.1がリリースされています。）</p>
<p>ソースコードが待ちきれないときは、git ソースコードリポジトリが sdk/lint フォルダーで利用できます。(手順は、<br />
<a href="http://source.android.com/source/downloading.html">http://source.android.com/source/downloading.html</a>　をみてください。そして、マスターリポジトリからソースコードを取得してください。</p>
<h5>既知の不具合</h5>
<ul>
<li>この項目(<a href="http://code.google.com/p/android/issues/detail?id=21124">21124</a>)はADT16で修正済み。
<li>未使用のリソース：未使用のリソースの発見は、いくつかのリソースで利用されている場合に正しく動作しない場合があります。lintがコマンドラインから実行されたとき、リソース参照を探すため内に簡単な文字列分析を利用します。コメントや文字列リテラルなどを無視する間に、まだ切り替えが遅れるかもしれないためです。lintがeclipseで動作しているとき、より正しい結果になるようにパースツリーを利用します。このプランは、lintコアがどのようなところで実行したとしても正しく動作するようなフルパースに統合するためです。
<li>Overdraw 検出：検出を利用していないような場合に、javaコードを分析する必要があり、現在主要なJavaパースツリーは動作していません。（リソース検出を利用していない場合と違って、eclipse 内で実行することはできます）
</ul>
<h4>Lint で解析対象になる項目</h4>
<p>次のエントリの「<a href="http://andbrowser.com/development/knowhow/787/android-lint-check-rule-detail/">Android Lint 解析内容の詳細を調査</a>」で紹介しているので参考にしてください。</p>
<p>以上</p>
<div id="wherego_related"><h3>このページを見た人は、以下のページも見ています。</h3><ul><li><a href="http://andbrowser.com/development/knowhow/65/eclipse-android-memory-leak-mat/" rel="bookmark" class="wherego_title">メモリリークを発見！Androidアプリのメモリ解析手法</a></li><li><a href="http://andbrowser.com/development/3583/hvc-c2wsdk/" rel="bookmark" class="wherego_title">家族目線(HVC-C2W)SDKのAndroid版サンプルアプリ利用方法</a></li><li><a href="http://andbrowser.com/intel-edison/3500/accelerometer-adxl345-for-edison/" rel="bookmark" class="wherego_title">Edison で利用できる加速度センサーADXL345</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://andbrowser.com/development/knowhow/712/android-lint/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://andbrowser.com/development/knowhow/712/android-lint/" />
	</item>
		<item>
		<title>Android Development Tools(ADT) r16.0.1 更新情報</title>
		<link>http://andbrowser.com/development/knowhow/697/adt-r16-0-1/</link>
		<comments>http://andbrowser.com/development/knowhow/697/adt-r16-0-1/#comments</comments>
		<pubDate>Sun, 18 Dec 2011 04:05:26 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[KnowHow]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[adt]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[eclipse]]></category>

		<guid isPermaLink="false">http://andbrowser.com/?p=697</guid>
		<description><![CDATA[Android Development Tools(ADT) r16.0.1 の更新情報を記載]]></description>
			<content:encoded><![CDATA[<p><img src="http://andbrowser.com/wp-content/uploads/2011/12/20111218_adt16.0.1.png" alt="Android ADT 16.0.1" title="Android ADT 16.0.1" width="390" height="274" class="aligncenter size-full wp-image-698" /></p>
<p><a href="http://developer.android.com/sdk/eclipse-adt.html">ADT16.0.1</a>の意訳です。完璧な自信はありませんので原文も一緒にご参照ください。</p>
<h4>Android Development Tools(ADT) 16.0.1リリース</h4>
<p><a href="http://andbrowser.com/development/knowhow/693/android-adt-16/">adt r16.0.0</a> がリリースされてから１週間の時間が経たない間にadt r16.0.1 がリリースされました。r16.0.0リリース後に問題やユーザへの影響の大きい不具合修正がメインのようです。</p>
<p><span id="more-697"></span></p>
<h4><a href="http://developer.android.com/sdk/eclipse-adt.html">ADT 16.0.1</a> <em>(2011年12月)</em></h4>
<dl>
<dt>依存関係：</dt>
<dd>
<ul>
<li>ADT 16.0.1 を利用するためには、Eclipse Helios (Version 3.6) や それ以上のバージョンが必須。</li>
<li>ADT 16.0.1 は <a href="http://developer.android.com/sdk/tools-notes.html">SDK Tools r16</a> を利用する前提で開発されています。もしまだ SDK Tools r16 をインストールしていない場合は、Android SDK Manager を利用してインストールしてください。</li>
</ul>
</dd>
<dt>不具合修正：</dt>
<dd>
<ul>
<li>9-patch は、いくつかのケースで通常のビットマップとしてパッケージされるようにビルドに関する項目を修正
<li><a href="http://tools.android.com/recent/lint">Lint</a>ツールに関する項目を修正。
<li>SDK Manager に関する項目を修正。
    </ul>
</dd>
</dl>
<div id="wherego_related"><h3>このページを見た人は、以下のページも見ています。</h3><ul><li><a href="http://andbrowser.com/development/knowhow/393/android-fragment2activity/" rel="bookmark" class="wherego_title">Android FragmentからのActivity呼び出し方法</a></li><li><a href="http://andbrowser.com/development/knowhow/712/android-lint/" rel="bookmark" class="wherego_title">Android Lint の利用方法</a></li><li><a href="http://andbrowser.com/development/knowhow/693/android-adt-16/" rel="bookmark" class="wherego_title">Android Development Tools(ADT) 16 更新情報</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://andbrowser.com/development/knowhow/697/adt-r16-0-1/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://andbrowser.com/development/knowhow/697/adt-r16-0-1/" />
	</item>
		<item>
		<title>Android Development Tools(ADT) 16 更新情報</title>
		<link>http://andbrowser.com/development/knowhow/693/android-adt-16/</link>
		<comments>http://andbrowser.com/development/knowhow/693/android-adt-16/#comments</comments>
		<pubDate>Fri, 16 Dec 2011 10:03:13 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[KnowHow]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[adt]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[eclipse]]></category>

		<guid isPermaLink="false">http://andbrowser.com/?p=693</guid>
		<description><![CDATA[Android ADT 16.0.0 の更新情報を記載]]></description>
			<content:encoded><![CDATA[<p><a href="http://developer.android.com/sdk/eclipse-adt.html">ADT16.0.0</a>の意訳です。完璧な自信はありませんので原文も一緒にご参照ください。</p>
<h4><a href="http://developer.android.com/sdk/eclipse-adt.html">ADT 16.0.0</a> <em>(2011年12月)</em></h4>
<dl>
<dt>依存関係：</dt>
<dd>
<ul>
<li>ADT 16.0.0 を利用するためには、Eclipse Helios (Version 3.6) や それ以上のバージョンが必須。</li>
<li>ADT 16.0.0 は <a href="http://developer.android.com/sdk/tools-notes.html">SDK Tools r16</a> を利用する前提で開発されています。もしまだ SDK Tools r16 をインストールしていない場合は、Android SDK Manager を利用してインストールしてください。</li>
</ul>
</dd>
<dt>改良の概要：</dt>
<dd>
<ul>
<li>Android プロジェクト (詳細情報)にエラーを発見するための Lint ツールが追加されます。（<a href="http://andbrowser.com/development/knowhow/712/android-lint/">詳細の日本語訳はこちら</a>）（<a href="http://tools.android.com/recent/lint">原本（英語）の詳細情報はこちら</a>）</li>
</ul>
</dd>
</dl>
<div id="wherego_related"><h3>このページを見た人は、以下のページも見ています。</h3><ul><li><a href="http://andbrowser.com/development/knowhow/869/sdk-tools-r17/" rel="bookmark" class="wherego_title">SDK Tools Revision 17更新情報</a></li><li><a href="http://andbrowser.com/development/knowhow/712/android-lint/" rel="bookmark" class="wherego_title">Android Lint の利用方法</a></li><li><a href="http://andbrowser.com/development/knowhow/697/adt-r16-0-1/" rel="bookmark" class="wherego_title">Android Development Tools(ADT) r16.0.1 更新情報</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://andbrowser.com/development/knowhow/693/android-adt-16/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://andbrowser.com/development/knowhow/693/android-adt-16/" />
	</item>
		<item>
		<title>adb shell pm list コマンドの端末ごとの違いについて</title>
		<link>http://andbrowser.com/development/knowhow/647/adb-shell-pm-list/</link>
		<comments>http://andbrowser.com/development/knowhow/647/adb-shell-pm-list/#comments</comments>
		<pubDate>Sat, 03 Dec 2011 16:17:01 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[KnowHow]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[adb]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[IS03]]></category>
		<category><![CDATA[nexus s]]></category>

		<guid isPermaLink="false">http://andbrowser.com/?p=647</guid>
		<description><![CDATA[adb shell pm list コマンドによって、端末やOSバージョンごとの違いを調査]]></description>
			<content:encoded><![CDATA[<p><img src="http://andbrowser.com/wp-content/uploads/2011/12/20111204_pm_list_command.png" alt="pm list コマンド" title="pm list コマンド" width="371" height="232" class="aligncenter size-full wp-image-663" /></p>
<h4>pm list コマンド</h4>
<p>androidアプリ開発をしている場合は、adb コマンドは必須でしょう。adbコマンド以外にもいくつも<a href="http://developer.android.com/guide/developing/tools/index.html">Android SDK DevGuide Tools</a>に記載されているようなコマンドが提供されています。</p>
<p>今回紹介する pm list コマンドは、上記のようなSDKが提供しているコマンドではなく、端末内で提供されているコマンドです。これはどういう意味かというと、端末のバージョンや開発元（HTCやSamsungなど）によって利用できるものが異なるということです。</p>
<h4>３台の端末（emulator込み）の比較</h4>
<p>Androidバージョンの異なる２台の端末とエミュレータで pm list コマンドのオプションの比較を行います。差分は、<strong><span style="color: #ff0000;">pm list libraries コマンド</span></strong>のみ(pm clear PACKAGEはあまり利用しないだろうと独断と偏見で除外）がAndroidVersion 2.3（今回の場合、Nexus Sとエミュレータ（2.3.3)で提供されていました。<br />
<span id="more-647"></span></p>
<h5>Nexus S(Version:2.3.6, Build number:GRK39F)と Emulator(Version:2.3.3)</h5>
<p><script class="brush: shell;" type="syntaxhighlighter">
$ adb shell pm list
Error: didn't specify type of data to list
usage: pm [list|path|install|uninstall]
       pm list packages [-f] [-d] [-e] [-u] [FILTER]
       pm list permission-groups
       pm list permissions [-g] [-f] [-d] [-u] [GROUP]
       pm list instrumentation [-f] [TARGET-PACKAGE]
       pm list features
       pm list libraries
       pm path PACKAGE
       pm install [-l] [-r] [-t] [-i INSTALLER_PACKAGE_NAME] [-s] [-f] PATH
       pm uninstall [-k] PACKAGE
       pm clear PACKAGE
       pm enable PACKAGE_OR_COMPONENT
       pm disable PACKAGE_OR_COMPONENT
       pm setInstallLocation [0/auto] [1/internal] [2/external]
---snip---
</script></p>
<h5>IS03(Version:2.2.1, Build number:01.01.08)</h5>
<p><script class="brush: shell;" type="syntaxhighlighter">
$ adb shell pm list
Error: didn't specify type of data to list
usage: pm [list|path|install|uninstall]
       pm list packages [-f]
       pm list permission-groups
       pm list permissions [-g] [-f] [-d] [-u] [GROUP]
       pm list instrumentation [-f] [TARGET-PACKAGE]
       pm list features
       pm path PACKAGE
       pm install [-l] [-r] [-t] [-i INSTALLER_PACKAGE_NAME] [-s] [-f] PATH
       pm uninstall [-k] PACKAGE
       pm enable PACKAGE_OR_COMPONENT
       pm disable PACKAGE_OR_COMPONENT
       pm setInstallLocation [0/auto] [1/internal] [2/external]
---snip---
</script></p>
<h4>pm list libraries コマンド</h4>
<p>このコマンドは何を表示してくれるものかというと以下の実行結果のように端末の中に入っているライブラリを一覧表示してくれます。このライブラリを必要とするアプリ（Google Maps を利用しているアプリやusb.accessoryを利用しているアプリなど）は、インストーラーが端末側に利用するライブラリが存在するかどうかを確認し、存在しなければ以下のようなエラーメッセージ(INSTALL_FAILED_MISSING_SHARED_LIBRARY)が表示されて、アプリのインストールが失敗します。</p>
<h5>必要なライブラリが端末に存在しない場合のエラーメッセージ（例として、ADKのサンプルアプリDemoKitLaunchをlibrary:com.android.future.usb.accessory が搭載されていない端末にインストールした場合） </h5>
<p><script class="brush: shell;" type="syntaxhighlighter">
#adb install DemoKitLaunch.apk
1233 KB/s (2648492 bytes in 2.096s)
        pkg: /data/local/tmp/DemoKitLaunch.apk
Failure [INSTALL_FAILED_MISSING_SHARED_LIBRARY]
</script></p>
<h5>Nexus S への pm list libraries コマンド</h5>
<p><script class="brush: shell;" type="syntaxhighlighter">
$ adb shell pm list libraries
library:android.test.runner
library:com.android.future.usb.accessory
library:com.android.location.provider
library:com.google.android.maps
library:com.google.android.nfc_extras
library:javax.obex
</script></p>
<h5>Android Emulator(Version;2.3.3) （作成時のtarget は、Google APIs ではない方） </h5>
<p><script class="brush: shell;" type="syntaxhighlighter">
library:android.test.runner
library:com.android.location.provider
library:javax.obex
</script></p>
<h4>結論</h4>
<ul>
<li>今回の調査対象とした Nexus S(2.3.6)や emulator(2.3.3)にはpm list に追加オプション(libraries)が存在
<li>但し、2.3(GB)の全端末で提供されているかどうかは不明。（ありそうな気がしますが・・・）
<li>アプリインストール時に利用ライブラリがないエラーがでた場合に、pm list libraries で調査が可能
<li>2.2以下でpm list libraries が提供されていない場合の調査方法は不明。（adb install してみるしかない？）
</ul>
<div id="wherego_related"><h3>このページを見た人は、以下のページも見ています。</h3><ul><li><a href="http://andbrowser.com/development/knowhow/65/eclipse-android-memory-leak-mat/" rel="bookmark" class="wherego_title">メモリリークを発見！Androidアプリのメモリ解析手法</a></li><li><a href="http://andbrowser.com/development/3583/hvc-c2wsdk/" rel="bookmark" class="wherego_title">家族目線(HVC-C2W)SDKのAndroid版サンプルアプリ利用方法</a></li><li><a href="http://andbrowser.com/android-sdk/3498/httpsjcenter-bintray-comcomandroidtoolsbuildgradle/" rel="bookmark" class="wherego_title">https://jcenter.bintray.com/com/android/tools/build/gradle/</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://andbrowser.com/development/knowhow/647/adb-shell-pm-list/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://andbrowser.com/development/knowhow/647/adb-shell-pm-list/" />
	</item>
		<item>
		<title>Android Development Tools (ADT) 15.0.1 更新情報</title>
		<link>http://andbrowser.com/development/knowhow/638/adt-15-0-1-update-info/</link>
		<comments>http://andbrowser.com/development/knowhow/638/adt-15-0-1-update-info/#comments</comments>
		<pubDate>Thu, 24 Nov 2011 15:33:06 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[KnowHow]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[adt]]></category>
		<category><![CDATA[Android]]></category>

		<guid isPermaLink="false">http://andbrowser.com/?p=638</guid>
		<description><![CDATA[Android Development Tools (ADT) 15.0.1 更新情報を記載
]]></description>
			<content:encoded><![CDATA[<p><img src="http://andbrowser.com/wp-content/uploads/2011/11/20111125_adt15001.png" alt="ADT 15.0.1" title="ADT 15.0.1" width="620" height="324" class="aligncenter size-full wp-image-639" /></p>
<p><a href="http://developer.android.com/sdk/eclipse-adt.html">ADT15.0.1</a>の意訳です。完璧な自信はありませんので原文も一緒にご参照ください。</p>
<h4>ADT 15.0.1 (2011年11月)</h4>
<p><a href="http://developer.android.com/sdk/eclipse-adt.html">http://developer.android.com/sdk/eclipse-adt.html</a> によると Android Development Tools (ADT) 15.0.1 がリリースされました。変更点は以下のようなものです。<br />
<span id="more-638"></span></p>
<h5>依存関係</h5>
<p>ADT 15.0.1 は SDK Tools r15 を利用する前提になっています。まだ SDK Tools r15 をインストールされていない場合は、Android SDK と AVD Manager を使ってインストールしてください。</p>
<h5>不具合修正</h5>
<ul>
<li>ライブラリプロジェクトの.jar ファイルに添付されるソースファイル群に関する修正
<li>ライブラリプロジェクトの bin フォルダの更新に関する不具合を修正
<li>ライブラリプロジェクトが再コンパイルされるときに、上位プロジェクトのライブラリコンテナも更新される件に関する修正。これはライブラリプロジェクトの変更時に上位プロジェクトの再コンパイルが保障されます。
<li>ライブラリプロジェクトの res フォルダがチェックされる件の修正。
<li>これによって、たとえ Eclipse が項目の更新を気にしなくても、すべての res フォルダが正しく含まれることが保障されます。
<li>XMLファイルが編集されている間に aapt が実行されることを防止する件の修正
<li>XML フォーマッターに関する項目の修正
</ul>
<h4>感想</h4>
<p>ざっとみた感じ不具合修正のためのリリースでした。こういう小さい不具合も開発環境の違い（Win / Mac / Linux)によっては致命的になるものもあるため、修正されてリリースされることは大変良いことだと思います。自分の開発するアプリでのこのようにきめ細やかなリリースをしていきたいところです。</p>
<div id="wherego_related"><h3>このページを見た人は、以下のページも見ています。</h3><ul><li><a href="http://andbrowser.com/development/knowhow/647/adb-shell-pm-list/" rel="bookmark" class="wherego_title">adb shell pm list コマンドの端末ごとの違いについて</a></li><li><a href="http://andbrowser.com/development/918/old-adt-download-url/" rel="bookmark" class="wherego_title">ADT(Android Developer Tools) ダウンロードURL一覧</a></li><li><a href="http://andbrowser.com/development/knowhow/990/android-development-tools-adt-20-0-2/" rel="bookmark" class="wherego_title">Android Development Tools(ADT) 20.0.2 更新情報</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://andbrowser.com/development/knowhow/638/adt-15-0-1-update-info/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://andbrowser.com/development/knowhow/638/adt-15-0-1-update-info/" />
	</item>
		<item>
		<title>Android NDK r7 の更新情報</title>
		<link>http://andbrowser.com/development/knowhow/612/android-ndk-r7-release/</link>
		<comments>http://andbrowser.com/development/knowhow/612/android-ndk-r7-release/#comments</comments>
		<pubDate>Sat, 12 Nov 2011 04:21:59 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[KnowHow]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[develop]]></category>
		<category><![CDATA[ndk]]></category>

		<guid isPermaLink="false">http://andbrowser.com/?p=612</guid>
		<description><![CDATA[Android NDK r7 が２０１１年１１月にリリースれました。その更新情報を記載しています。
]]></description>
			<content:encoded><![CDATA[<p><img src="http://andbrowser.com/wp-content/uploads/2011/11/android-ndk-r7-release.png" alt="Android NDK r7 Release" title="Android NDK r7 Release" width="522" height="304" class="aligncenter size-full wp-image-613" /></p>
<p><a href="http://developer.android.com/sdk/ndk/index.html">Android NDK, Revision 7</a>の意訳です。完璧な自信はありませんので原文も一緒にご参照ください。</p>
<h4><a href="http://developer.android.com/sdk/ndk/index.html">Android NDK, Revision 7 (2011年１１月)リリース</a></h4>
<p><a href="http://android-developers.blogspot.com/2011/11/updated-ndk-for-android-40.html">Android Developer blog</a>で報告があったようにたくさんの追加や改良がおこなわれたAndroid 4.0 プラットフォームでサポートされた新しい機能が含まれたNDK がリリースされました。</p>
<h4>新機能</h4>
<p><span id="more-612"></span></p>
<h5>公式Android 4.0(API level 14)に追加された機能</h5>
<ul>
<li> <a href="http://www.khronos.org/openmax/">Khronos Group のOpenMAX AL™ 1.0.1 standard</a> で規定されているネイティブマルチメディアAPIを追加
<li>新しく追加された<code>&lt;OMXAL/OpenMAXAL.h&gt;</code> と <code>&lt;OMXAL/OpenMAXAL_Android.h&gt;</code>ヘッダーは、Andriod特有のバッファキューインタフェースを利用して、ネイティブコードから直接マルチメディアアウトプットへの出力を API level 14 指定されているものに許可されます。
<li> Khronos Group OpenSL ES 1.0.1™ standard に規定されちえるネイティブオーディオAPIが更新
<li>API level 14上で、MP3, AAC, Vorbisなどの圧縮音源を PCM にデコード可能
<li>詳細は、<code>docs/opensles/index.html</code> か<a href="http://www.khronos.org/opensles/">http://www.khronos.org/opensles/</a>を確認しましょう
<li><code>CCache</code> サポートを追加
<li>リビルドの高速化を実現
<li><code>NDK_CCACHE</code> という環境変数を定義し、ccache(ccache バイナリへのパス）を実行
<li>定義されていれば、NDK ビルドシステムはコンパイル時に自動的に CCache を利用します。
<pre>export NDK_CCACHE=ccache</pre>
<p class="note"><strong>注意：</strong> CCache はNDK には含まれていません。そのため、前もってインストールは準備しておく必要があります。<code>CCache</code>の詳細は、<a href="http://ccache.samba.org">http://ccache.samba.org</a>をご覧ください
</p>
<li>APP_ABI 設定のサポートを追加。以下の２行のうちどちらかのように Application.mk に記載することが今回のリリースから可能です。
<pre>
APP_ABI := all
APP_ABI := armeabi armeabi-v7a x86
</pre>
<p>APP_ABI が定義されていれば、コマンドラインから<code>ndk-build</code> を実行したときいに機能します。あなたのプロジェクトが ABIs をサポートしているかどうかを <code>Application.mk</code> を変更することなしに、確認するために簡単な方法があります。<br />
例えば以下のものです。
<pre>
ndk-build APP_ABI=all
</pre>
<li><code>Android.mk</code> に <code>LOCAL_CPP_FEATURES</code> を追加。これは、C++機能(<code>RTTI</code> や 例外（<code>Exceptions</code>) )を利用している場合に宣言してください。これらの機能がプレビルドするモジュールに依存している場合は、最終的なリンク時に働きます。詳細は、 <code>docs/ANDROID-MK.html</code> や<code>docs/CPLUSPLUS-SUPPORT.html</code> をご覧ください。
<li>ビルドコマンド利用時に短縮化されたソースファイルとオブジェクトへのパスが利用可能
<li>プロジェクトパスから <code>$NDK/ndk-build</code> を実行中にソース、オブジェクト、バイナリファイルへのパスは、ビルドコマンドに短縮パスを引き渡します。なぜなら、現在のディレクトリに関連さえるためです。これはたくさんのソースファイルがある場合のプロジェクトをビルドする場合に役立ちます。利用中のOSのコマンドラインの上限値をさけるために有効です。このふるまいは、プロジェクトのツリーから <code>ndk-build</code> を実行する場合に変更することができません。もしくは、環境変数  <code>NDK_PROJECT_PATH</code> を特定のディレクトリに変更してください。
</ul>
<h4>実験的な機能(Experimental features)</h4>
<p>Windows ユーザ向け：<code>ndk-build.cmd</code>スクリプトを利用して、Cygwinなしで NDK ビルドが実現可能になります。このスクリプトは、オリジナルのndk-build スクリプトと同じ引数で利用可能できます。Windows NDK パッケージには、GNU Make や Awkやその他必要なツールが入っています。そのため、別途ビルドに必要なツールをインストールする必要はありません。</p>
<p class="caution"><strong>重要：</strong> <code>ndk-gdb</code> は Windows では利用できません。それには、まだ Cygwin が必要です。</p>
<p>この機能はまだ実験中です。そのため、利用した感想や項目のレポートを<a href="public bug database or public forum">公式バグデータベース</a>や<a href="http://groups.google.com/group/android-ndk">公式フォーラム</a>に伝えてください。</p>
<h4>重要なバグ修正</h4>
<ul>
<li>もし <code>APP_MODULES</code>が<code>Application.mk</code>に未定義の場合は、インポートされた共有ライブラリは現在の標準では target installation location ((<code>libs/&lt;abi&gt;</code>))にインストールされます。例えば、<code>foo</code>というトップレベルモジュールが<code>bar</code>モジュールにインポートされる場合、<br />
<code>libfoo.so</code> と  <code>libbar.so</code> の両方ともインストール場所にコピーされます。以前は、 <code>libfoo.so</code>のみがコピーされ、<br />
<code>bar</code>を<code>APP_MODULES</code>にリスト追加しておかない限り、そのような動作でした。もし、既に <code>APP_MODULES</code> 定義されている場合は、動作は変わりません。</p>
<li><code>ndk-gdb</code> は、MAIN intent filters のマルチカテゴリー指定で正しく動作しています。
<li>スタティックライブラリのインポートは、正しく動作しています。例えば、トップレベルモジュールの<code>ndk-gdb</code> がスタティックライブラリ<code>zoo</code>をインポートしたスタティックライブラリ<code>bar</code>をインポートする場合、 <code>libfoo.so</code>には<code>libbar.a</code> と <code>libzoo.a</code> がリンクされます。
</ul>
<h4>その他の変更点</h4>
<ul>
<li><code>docs/NATIVE-ACTIVITY.HTML</code>： typo を修正。API levelの下限は 9 です。 8では native activities が動作しません。
<li><code>docs/STABLE-APIS.html</code>：EGL でサポートされているAPIの記載の誤りを修正。
<li><code>download-toolchain-sources.sh</code>: <a href="http://android.googlesource.com">android.googlesource.com</a>からのダウンロードツールチェインを更新。AOSPサーバの新しいURLを追加。
<li><code>gabi++</code> というC++サポートランタイムを新規追加。詳細は、<code>docs/CPLUSPLUS-SUPPORT.html</code> をご覧ください。
<li><code>gnustl_shared</code> というC++サポートランタイムを新規追加。GNU libstdc++ v3 (GPLv3 license)の共有ライブラリバージョンと同等。詳細は、          <code>docs/CPLUSPLUS-SUPPORT.html</code>をご覧ください。
<li>STLport C++ runtimes の RTTIを追加サポート。但し、例外（exceptions)は未サポート。
<li><code>LOCAL_CPP_EXTENSION</code> のマルチ拡張子を追加サポート。例えば、<code>foo.cpp</code> and <code>bar.cxx</code> の両方ともC+++ソースとしてコンパイルしてくれます。以下のような宣言になります。
<pre>
LOCAL_CPP_EXTENSION := .cpp .cxx
</pre>
<li>NDKで提供されている共有システムライブラリで要求されていないたくさんのシンボルを削除。これによって、non-stable ABIシンボル(例えば、いくつかのlibgcc.a でプラットフォーム毎に異なるもの）に依存したコードが偶発的に生成されることを防ぎます。
<li>EGLとOpenGLEL ヘッダーの拡張をサポート。注意：NDK ABIs は同等のライブラリで変更がないため、クライアントアプリ側でそれぞれの拡張に対して実行時にケアする必要があります。
<p>拡張は、デバイスやGPUドライバに依存するため、プラットフォームが未対応の場合は動作しません。ヘッダーの定数やタイプの新しい追加を利用する場合は、<code>eglGetProcAddress()</code> or <code>glGetProcAddress()</code> で確認する必要があります。新しくサポートされた拡張は以下です。</p>
<dl>
<dt>GLES 1.x</dt>
<dd>
<ul>
<li><code>GL_OES_vertex_array_object</code></li>
<li><code>GL_OES_EGL_image_external</code></li>
<li><code>GL_APPLE_texture_2D_limited_npot</code></li>
<li><code>GL_EXT_blend_minmax</code></li>
<li><code>GL_EXT_discard_framebuffer</code></li>
<li><code>GL_EXT_multi_draw_arrays</code></li>
<li><code>GL_EXT_read_format_bgra</code></li>
<li><code>GL_EXT_texture_filter_anisotropic</code></li>
<li><code>GL_EXT_texture_format_BGRA8888</code></li>
<li><code>GL_EXT_texture_lod_bias</code></li>
<li><code>GL_IMG_read_format</code></li>
<li><code>GL_IMG_texture_compression_pvrtc</code></li>
<li><code>GL_IMG_texture_env_enhanced_fixed_function</code></li>
<li><code>GL_IMG_user_clip_plane</code></li>
<li><code>GL_IMG_multisampled_render_to_texture</code></li>
<li><code>GL_NV_fence</code></li>
<li><code>GL_QCOM_driver_control</code></li>
<li><code>GL_QCOM_extended_get</code></li>
<li><code>GL_QCOM_extended_get2</code></li>
<li><code>GL_QCOM_perfmon_global_mode</code></li>
<li><code>GL_QCOM_writeonly_rendering</code></li>
<li><code>GL_QCOM_tiled_rendering</code></li>
</ul>
</dd>
<dt>GLES 2.0</dt>
<dd>
<ul>
<li><code>GL_OES_element_index_uint</code></li>
<li><code>GL_OES_get_program_binary</code></li>
<li><code>GL_OES_mapbuffer</code></li>
<li><code>GL_OES_packed_depth_stencil</code></li>
<li><code>GL_OES_texture_3D</code></li>
<li><code>GL_OES_texture_float</code></li>
<li><code>GL_OES_texture_float_linear</code></li>
<li><code>GL_OES_texture_half_float_linear</code></li>
<li><code>GL_OES_texture_npot</code></li>
<li><code>GL_OES_vertex_array_object</code></li>
<li><code>GL_OES_EGL_image_external</code></li>
<li><code>GL_AMD_program_binary_Z400</code></li>
<li><code>GL_EXT_blend_minmax</code></li>
<li><code>GL_EXT_discard_framebuffer</code></li>
<li><code>GL_EXT_multi_draw_arrays</code></li>
<li><code>GL_EXT_read_format_bgra</code></li>
<li><code>GL_EXT_texture_format_BGRA8888</code></li>
<li><code>GL_EXT_texture_compression_dxt1</code></li>
<li><code>GL_IMG_program_binary</code></li>
<li><code>GL_IMG_read_format</code></li>
<li><code>GL_IMG_shader_binary</code></li>
<li><code>GL_IMG_texture_compression_pvrtc</code></li>
<li><code>GL_IMG_multisampled_render_to_texture</code></li>
<li><code>GL_NV_coverage_sample</code></li>
<li><code>GL_NV_depth_nonlinear</code></li>
<li><code>GL_QCOM_extended_get</code></li>
<li><code>GL_QCOM_extended_get2</code></li>
<li><code>GL_QCOM_writeonly_rendering</code></li>
<li><code>GL_QCOM_tiled_rendering</code></li>
</ul>
</dd>
<dt>EGL</dt>
<dd>
<ul>
<li><code>EGL_ANDROID_recordable</code></li>
<li><code>EGL_NV_system_time</code></li>
</ul>
</dd>
</dl>
</li>
</ul>
<div id="wherego_related"><h3>このページを見た人は、以下のページも見ています。</h3><ul><li><a href="http://andbrowser.com/au-kddi/903/au-market-app-install/" rel="bookmark" class="wherego_title">auマーケットの簡単インストール方法</a></li><li><a href="http://andbrowser.com/development/2473/au-isai-fl-xxxhdpi/" rel="bookmark" class="wherego_title">au isai FL は XXX High DPI 端末！4.4ソースコード調査</a></li><li><a href="http://andbrowser.com/android-sdk/2264/february-4-2014-android-platform-versions/" rel="bookmark" class="wherego_title">JBが主流派。2014年2月4日時点のAndroid Platform バージョンの割合</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://andbrowser.com/development/knowhow/612/android-ndk-r7-release/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://andbrowser.com/development/knowhow/612/android-ndk-r7-release/" />
	</item>
		<item>
		<title>SDK Tools r15 の ant から proguard 利用方法</title>
		<link>http://andbrowser.com/development/knowhow/589/android-sdk-tools-r15-ant-proguard/</link>
		<comments>http://andbrowser.com/development/knowhow/589/android-sdk-tools-r15-ant-proguard/#comments</comments>
		<pubDate>Thu, 10 Nov 2011 01:04:54 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[KnowHow]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[adt]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[sdk tools]]></category>

		<guid isPermaLink="false">http://andbrowser.com/?p=589</guid>
		<description><![CDATA[androud 開発環境のSDK Tools r15 の ant から proguard を利用する方法を記載]]></description>
			<content:encoded><![CDATA[<p><img src="http://andbrowser.com/wp-content/uploads/2011/11/20111108_android-sdk-tools-r15-ant-proguard-error.png" alt="Android SDK tools-r15 ant proguard error" title="Android SDK tools-r15 ant proguard error" width="640" height="480" class="aligncenter size-full wp-image-593" /></p>
<p>android SDK Tools r15 での and build に興味がある方は、まず<a href="http://andbrowser.com/development/knowhow/559/android-sdk-tools-r15-ant-build-error/">android SDK Tools r15 での and build のエラー対処方法</a>を見てみてください。</p>
<p>このエントリでは、その次のフェーズとして、proguard を利用したい場合の紹介をします。<br />
<span id="more-589"></span></p>
<p>既に ant build できる環境が構築できている場合は、以下のどちらかのコマンドを実行したと思います。</p>
<blockquote><p>android update project</p></blockquote>
<p>もしくは</p>
<blockquote><p>android create project</p></blockquote>
<p>これらのコマンドが成功していれば、例えば以下のように proguard.cfg というファイルが生成されているはずです。</p>
<blockquote><p>
# android.bat update project -p ./<br />
Updated local.properties<br />
Added file <repo_directory>\toGmail\proguard.cfg
</p></blockquote>
<p>このファイルは proguard を利用するうえで、大変重要なファイルです。中身は以下のような内容になっています。<br />
中身の詳細説明は、<a href="http://d.hatena.ne.jp/hyoromo/20101120/1290216449">ProGuardを使っての難読化方法</a>に詳しい解説がありますのでこちらをご覧ください。</p>
<blockquote><p>
# cat proguard.cfg<br />
-optimizationpasses 5<br />
-dontusemixedcaseclassnames<br />
-dontskipnonpubliclibraryclasses<br />
-dontpreverify<br />
-verbose<br />
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*</p>
<p>-keep public class * extends android.app.Activity<br />
-keep public class * extends android.app.Application<br />
-keep public class * extends android.app.Service<br />
-keep public class * extends android.content.BroadcastReceiver<br />
-keep public class * extends android.content.ContentProvider<br />
-keep public class * extends android.app.backup.BackupAgentHelper<br />
-keep public class * extends android.preference.Preference<br />
-keep public class com.android.vending.licensing.ILicensingService</p>
<p>-keepclasseswithmembernames class * {<br />
    native <methods>;<br />
}</p>
<p>-keepclasseswithmembers class * {<br />
    public <init>(android.content.Context, android.util.AttributeSet);<br />
}</p>
<p>-keepclasseswithmembers class * {<br />
    public <init>(android.content.Context, android.util.AttributeSet, int);<br />
}</p>
<p>-keepclassmembers class * extends android.app.Activity {<br />
   public void *(android.view.View);<br />
}</p>
<p>-keepclassmembers enum * {<br />
    public static **[] values();<br />
    public static ** valueOf(java.lang.String);<br />
}</p>
<p>-keep class * implements android.os.Parcelable {<br />
  public static final android.os.Parcelable$Creator *;<br />
}
</p></blockquote>
<p>まずは特に proguard.cfg はいじらずに標準設定のままで利用するのがよいでしょう。利用方法は以下になります。<br />
まず、ant.properties の中に以下の１行を追加します。これによって、ant release ビルドのときに proguard が有効になりビルドプロセスの中に組これます。</p>
<blockquote><p>proguard.config=proguard.cfg</p></blockquote>
<p>なんとこれだけです。SDK Tools r14 以前では、<a href="http://d.hatena.ne.jp/bs-android/20101129/1291008438">ここ</a>や<a href="http://android-developers.blogspot.com/2010/09/proguard-android-and-licensing-server.html">ここ</a>のように必要なxmlファイルをダウンロードしてきたり、build.xml に追記が必要だったりしましたが、r15（r14からの機能かもしれませんが）からは断然簡単になりました。</p>
<p>標準状態で作成された ant の target では、releaseビルド時のみ proguard が有効になるため、出来上がった apk には適切な署名でサインしてからインストールしましょう。</p>
<h4>結論</h4>
<p>標準設定のままなら proguard を書けるのは大変簡単！ソフトウェア資産を守るだけでなく、バイナリサイズも小さくなるというユーザへのメリットもあるため（Android Market からのダウンロード時間の短縮や、データ通信料の削減（世の中の流れはデータ通信の定額化の廃止のため））是非活用していきましょう。</p>
<div id="wherego_related"><h3>このページを見た人は、以下のページも見ています。</h3><ul><li><a href="http://andbrowser.com/development/knowhow/559/android-sdk-tools-r15-ant-build-error/" rel="bookmark" class="wherego_title">android SDK Tools r15 での and build のエラー対処方法</a></li><li><a href="http://andbrowser.com/development/2134/android-development-toolsadt-22-2/" rel="bookmark" class="wherego_title">Android Development Tools(ADT) 22.2 更新情報</a></li><li><a href="http://andbrowser.com/development/2148/android-development-toolsadt-22-2-1/" rel="bookmark" class="wherego_title">Android Development Tools(ADT) 22.2.1 更新情報</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://andbrowser.com/development/knowhow/589/android-sdk-tools-r15-ant-proguard/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://andbrowser.com/development/knowhow/589/android-sdk-tools-r15-ant-proguard/" />
	</item>
	</channel>
</rss>
