<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:blogChannel="http://backend.userland.com/blogChannelModule" >
  <channel>
  <title>技なれど波高し</title>
  <link>http://kstv2011.blog.shinobi.jp/</link>
  <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://kstv2011.blog.shinobi.jp/RSS/" />
  <description>プログラミング、Linux、Androidについて、検索しても出てこなかったことについて、自分用メモをつける。</description>
  <lastBuildDate>Fri, 12 Aug 2011 05:44:14 GMT</lastBuildDate>
  <language>ja</language>
  <copyright>© Ninja Tools Inc.</copyright>
  <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" />

    <item>
    <title>無題</title>
    <description>
    <![CDATA[gっh]]>
    </description>
    <category>未選択</category>
    <link>http://kstv2011.blog.shinobi.jp/%E6%9C%AA%E9%81%B8%E6%8A%9E/%E7%84%A1%E9%A1%8C_14</link>
    <pubDate>Fri, 12 Aug 2011 05:46:53 GMT</pubDate>
    <guid isPermaLink="false">kstv2011.blog.shinobi.jp://entry/14</guid>
  </item>
    <item>
    <title>SoftBank 003ZをUbuntuでデバッグする。</title>
    <description>
    <![CDATA[&nbsp;SoftBank 003Zをubuntu10.10でデバッグしてみる。<br />
<br />
参考：<a href="http://developer.android.com/guide/developing/device.html">http://developer.android.com/guide/developing/device.html<br />
</a><br />
1. 003Zを
<meta http-equiv="content-type" content="text/html; charset=utf-8" />USBケーブルでUbuntuに接続。<br />
2. Ubuntuの端末エミュレータを起動する。<br />
<meta http-equiv="content-type" content="text/html; charset=utf-8" />3. スーパーユーザにてルールファイル(？)を作成<br />
<br />
$ sudo vi&nbsp;/etc/udev/rules.d/51-android.rules<br />
<br />
4. ZTEのUSBベンダIDの&quot;
<meta http-equiv="content-type" content="text/html; charset=utf-8" /><span class="Apple-style-span" style="border-collapse: collapse; color: rgb(0, 112, 0); font-family: monospace; font-size: 13px; line-height: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; ">19D2&quot;</span>を設定。<br />
<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;SUBSYSTEM==&quot;usb&quot;, SYSFS{idVendor}==&quot;19D2&quot;, MODE=&quot;0666&quot;
<div><br />
5. ファイルの属性変更<br />
<font color="#000000"><br />
&nbsp;&nbsp; &nbsp; &nbsp;$ sudo&nbsp;</font>
<meta http-equiv="content-type" content="text/html; charset=utf-8" /><font color="#000000"><span class="Apple-style-span" style="color: rgb(0, 112, 0); font-family: monospace; font-size: 13px; line-height: 13px; ">chmod a+r /etc/udev/rules.d/51-android.rules<br />
</span></font><br />
<meta http-equiv="content-type" content="text/html; charset=utf-8" /><br />
※このままだと003Zを認識してくれないので、続けて以下の手順を実施する。<br />
<br />
<br />
6. adbサーバの停止<br />
<br />
&nbsp;&nbsp; &nbsp; &nbsp;$ sudo /{SDKインストール先}/adb kill-server<br />
<br />
7. adbサーバの起動<br />
<br />
<meta http-equiv="content-type" content="text/html; charset=utf-8" />&nbsp;&nbsp; &nbsp; &nbsp;$ sudo /{SDKインストール先}/adb start-server<br />
<br />
8. 003Zを認識する。<br />
<br />
&nbsp;&nbsp; &nbsp; $ adb logcat<br />
<br />
<br />
&nbsp;</div>]]>
    </description>
    <category>SoftBank 003Z</category>
    <link>http://kstv2011.blog.shinobi.jp/softbank%20003z/softbank%20003z%E3%82%92ubuntu%E3%81%A7%E3%83%87%E3%83%90%E3%83%83%E3%82%B0%E3%81%99%E3%82%8B%E3%80%82</link>
    <pubDate>Wed, 23 Feb 2011 10:06:31 GMT</pubDate>
    <guid isPermaLink="false">kstv2011.blog.shinobi.jp://entry/11</guid>
  </item>
    <item>
    <title>【解決】jarsigner: jar に署名できません: java.util.zip.ZipException: invalid entry compressed size </title>
    <description>
    <![CDATA[androidアプリを作成し、いざ署名すると、「&nbsp;
<meta http-equiv="content-type" content="text/html; charset=utf-8">jarsigner: jar に署名できません」とエラーになることが多々(？)ある。<br />
この状態で、zipalignを実行すると<a href="http://kstv2011.blog.shinobi.jp/Entry/6/">マーケットにアップデートを拒否される</a>ので、これを解消しなければならない。<br />
<br />
<div>jarsigner: jar に署名できません: java.util.zip.ZipException: invalid entry compressed size (expected 426 but got 428 bytes)</div>
<div>&nbsp;</div>
解決方法：<br />
<strike>1.リコンパイル<br />
2.jarsignerでもう一度署名する。<br />
3.解消しない場合、1.を実行する。<br />
<br />
※マニフェスト変更とか、プロジェクトクリーンアップとか、eclipse再起動とかして、しつこくコンパイルしてたら、いつか受け付けてくれる。<br />
</strike><br />
1. デバッグエミュレータ、または、実機マシンからアプリをアンインストールする。<br />
$&nbsp;adb uninstall [PKG名]<br />
2. jarsignerでもう一度署名する。<br />
<br />
※それでも治らない人は<a href="http://kstv2011.blog.shinobi.jp/Entry/6/">こちら</a>を参照してください。<br type="_moz" />
</meta>]]>
    </description>
    <category>android</category>
    <link>http://kstv2011.blog.shinobi.jp/android/%E3%80%90%E8%A7%A3%E6%B1%BA%E3%80%91jarsigner-%20jar%20%E3%81%AB%E7%BD%B2%E5%90%8D%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%9B%E3%82%93-%20java.util.zip.zipexception-%20invalid%20entry%20compressed%20size%20</link>
    <pubDate>Tue, 22 Feb 2011 16:37:22 GMT</pubDate>
    <guid isPermaLink="false">kstv2011.blog.shinobi.jp://entry/10</guid>
  </item>
    <item>
    <title>【解決】RuntimeException: Unable to destroy activity</title>
    <description>
    <![CDATA[アプリ起動中に激しく画面を傾けると異常終了した。&nbsp;<br />
<br />
ログを見るとonDestroyで異常終了していたことが判明。<br />
<br />
java.lang.RuntimeException: Unable to destroy activity {　アクテビティ　}<br />
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<div><br type="_moz" />
<a href="https://code.google.com/p/valkyrie-android/issues/detail?id=8">https://code.google.com/p/valkyrie-android/issues/detail?id=8</a></div>
<meta http-equiv="content-type" content="text/html; charset=utf-8">&nbsp;<br />
Thread起動中だったので、onDstroyでスレッドを強制停止するように修正したら、
<meta http-equiv="content-type" content="text/html; charset=utf-8">「Unable to destroy activity」が治まった。&nbsp;
<meta http-equiv="content-type" content="text/html; charset=utf-8">onDstroyでは、スレッド、サービスはすべて停止させないといけないのか・・・。<br />
<br />
<br />
<strong>private ExecutorService exService = Executors.newFixedThreadPool(1);</strong><br style="font-family: monospace; white-space: pre-wrap; " />
<br />
<div><span style="font-family: Arial; "><span class="Apple-tab-span" style="white-space: pre; ">	</span>@Override<br />
<span class="Apple-tab-span" style="white-space: pre; ">	</span>public void onCreate(Bundle savedInstanceState) {<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;super.onCreate(savedInstanceState);<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;setContentView(R.layout.main);<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Runnable runnable = new Runnable(){....};<br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<strong>exService.execute( runnable );</strong><br />
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;}<br />
<br />
</span>
<div><span style="font-family: Arial; "><span class="Apple-tab-span" style="white-space: pre; ">	</span>@Override</span></div>
<div><span style="font-family: Arial; "><span class="Apple-tab-span" style="white-space: pre; ">	</span>protected void onDestroy() {</span></div>
<div><span style="font-family: Arial; "><span class="Apple-tab-span" style="white-space: pre; ">		</span>super.onDestroy();</span></div>
<div><span style="font-family: Arial; "><span class="Apple-tab-span" style="white-space: pre; ">		</span></span><strong><span style="font-family: Arial; ">exService.shutdownNow();</span></strong></div>
<div><span style="font-family: Arial; "><span class="Apple-tab-span" style="white-space: pre; ">	</span>}</span></div>
</div>
<meta http-equiv="content-type" content="text/html; charset=utf-8"><br />
<br />
<br type="_moz" />
</meta>
</meta>
</meta>
</meta>
</meta>]]>
    </description>
    <category>android</category>
    <link>http://kstv2011.blog.shinobi.jp/android/%E3%80%90%E8%A7%A3%E6%B1%BA%E3%80%91runtimeexception-%20unable%20to%20destroy%20activity</link>
    <pubDate>Tue, 22 Feb 2011 13:17:57 GMT</pubDate>
    <guid isPermaLink="false">kstv2011.blog.shinobi.jp://entry/9</guid>
  </item>
    <item>
    <title>【解決】android ListViewのonTouchにてNullPointerException </title>
    <description>
    <![CDATA[クラッシュエラー通知でNullPointerExceptionが届いたが、<br />
実装していないとこで発生している？のだろうか。<br />
<br />
<font size="1"><font color="#808080"><br />
&nbsp; </font></font>
<meta http-equiv="content-type" content="text/html; charset=utf-8"><font size="1"><font color="#808080">java.lang.NullPointerException<br />
at android.widget.ArrayAdapter.createViewFromResource(ArrayAdapter.java:355)<br />
at android.widget.ArrayAdapter.getView(ArrayAdapter.java:323)<br />
at android.widget.AbsListView.obtainView(AbsListView.java:1294)<br />
at android.widget.ListView.makeAndAddView(ListView.java:1727)<br />
at android.widget.ListView.fillDown(ListView.java:652)<br />
at android.widget.ListView.fillGap(ListView.java:623)<br />
at android.widget.AbsListView.trackMotionScroll(AbsListView.java:2944)<br />
at android.widget.AbsListView.onTouchEvent(AbsListView.java:2065)<br />
at android.widget.ListView.onTouchEvent(ListView.java:3315)<br />
at android.view.View.dispatchTouchEvent(View.java:3765)<br />
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:905)<br />
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:944)<br />
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:944)<br />
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:944)<br />
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:944)<br />
at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1701)<br />
at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1116)<br />
at android.app.Activity.dispatchTouchEvent(Activity.java:2093)<br />
at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1685)<br />
at android.view.ViewRoot.handleMessage(ViewRoot.java:1802)<br />
at android.os.Handler.dispatchMessage(Handler.java:99)<br />
at android.os.Looper.loop(Looper.java:143)<br />
at android.app.ActivityThread.main(ActivityThread.java:4914)<br />
at java.lang.reflect.Method.invokeNative(Native Method)<br />
at java.lang.reflect.Method.invoke(Method.java:521)<br />
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)<br />
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)<br />
at dalvik.system.NativeStart.main(Native Method)<br />
</font></font> <br />
<font color="#000000">調べてみると、<a href="http://code.google.com/p/android-cmis-browser/issues/detail?id=24">海外でよく同じ現象が起きている</a>みたい。<br />
</font>
<meta http-equiv="content-type" content="text/html; charset=utf-8">動的にListViewを入れ替えているので、Listが空になった瞬間に動作が不安定になっているのか？<br />
<meta http-equiv="content-type" content="text/html; charset=utf-8"><br />
<br />
<u><strong>解決方法：</strong></u><br />
<br />
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="content-type" content="text/html; charset=utf-8">ArrayAdapterを実装する。                                    </meta>
</meta>
</meta>
</meta>
</meta>
</meta><br /><a href="http://kstv2011.blog.shinobi.jp/android/%E3%80%90%E8%A7%A3%E6%B1%BA%E3%80%91android%20listview%E3%81%AEontouch%E3%81%AB%E3%81%A6nullpointerexception%20" target="_blank">解決方法　つづきはこちら</a>]]>
    </description>
    <category>android</category>
    <link>http://kstv2011.blog.shinobi.jp/android/%E3%80%90%E8%A7%A3%E6%B1%BA%E3%80%91android%20listview%E3%81%AEontouch%E3%81%AB%E3%81%A6nullpointerexception%20</link>
    <pubDate>Tue, 22 Feb 2011 11:52:31 GMT</pubDate>
    <guid isPermaLink="false">kstv2011.blog.shinobi.jp://entry/8</guid>
  </item>
    <item>
    <title>android内部ストレージに要注意！？</title>
    <description>
    <![CDATA[Androidアプリのクラッシュレポートを確認すると<br />
NullPointerExceptionが発生していた・・・。<br />
<br />
確認すると、内部ストレージディレクトリを取得メソッド(getFileDir)がnullを<br />
返していたことが判明。<br />
<br />
<span class="Apple-style-span" style="color: rgb(0, 112, 0); font-family: monospace; font-size: 13px; line-height: 13px; ">パッケージ：android.content<br />
クラス：Context<br />
メソッド：<a href="http://developer.android.com/reference/android/content/Context.html#getFilesDir()" style="color: rgb(0, 102, 153); ">getFilesDir()<br />
<br />
早速APIを確認したが、nullを返す場合について勤窮されていない・・・。<br />
<br />
<br />
何度かテストしたが原因は不明なまま・・。<br />
<br />
とりあえず、クラッシュしないように修正。<br />
<br />
<br />
Majigatari v2.17 &rarr; v2.18</a></span>のバージョンアップに盛り込みました。<br />
<br />
内部ストレージ容量限界？メモリ異常？一時エラー？<br />
<br />
<br type="_moz" />]]>
    </description>
    <category>android</category>
    <link>http://kstv2011.blog.shinobi.jp/android/android%E5%86%85%E9%83%A8%E3%82%B9%E3%83%88%E3%83%AC%E3%83%BC%E3%82%B8%E3%81%AB%E8%A6%81%E6%B3%A8%E6%84%8F%EF%BC%81%EF%BC%9F</link>
    <pubDate>Wed, 16 Feb 2011 16:04:56 GMT</pubDate>
    <guid isPermaLink="false">kstv2011.blog.shinobi.jp://entry/7</guid>
  </item>
    <item>
    <title>【解決】apk は前のバージョンと同じ証明書で署名する必要があります。</title>
    <description>
    <![CDATA[&nbsp;androidマーケット登録用に自己作成の証明書を使用しているが、アプリをアップデートする際に受け付けてくれないandroidマーケット<strike>のバグ？</strike>に悩まされている。<br />
<br />
アップデートNGとなる理由は「
<meta http-equiv="content-type" content="text/html; charset=utf-8"><font color="#FF0000">apk は前のバージョンと同じ証明書で署名する必要があります。</font>」である。<br />
<br />
<img alt="shomeisho_error.png" border="0" align="left" src="//kstv2011.blog.shinobi.jp/Img/1295793642/" /><br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
androidマーケットに初登録して以来、一貫して同じ証明書を使用しているが、アップデートを受け付けないのは、まったく意味不明である。<br />
<br />
仕方がないので、パッケージ名を変えて別のアプリとして登録し直して対処・・・。<br />
<br />
登録し直した後は、問題の証明書と同じ証明書を引き続き使用していますが、正常にアプリをアップロードすることができる。<br />
<br />
<strike>ますます、謎は深まるばかりである。<br />
<br />
謎１.証明書の変更をしていないが、突如アップデートNGとなる。<br />
謎2.アップデート受付不可となったあと、何度apkファイルを再作成＆再書名してもアップデートが受け付けられない。<br />
謎3.パッケージ名を変更し、別アプリとして登録した後、同じ証明書を使用しても正常にアップデートできる。<br />
</strike><br />
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="content-type" content="text/html; charset=utf-8">&nbsp;
<meta http-equiv="content-type" content="text/html; charset=utf-8">■
<meta http-equiv="content-type" content="text/html; charset=utf-8">■
<meta http-equiv="content-type" content="text/html; charset=utf-8">■
<meta http-equiv="content-type" content="text/html; charset=utf-8">■
<meta http-equiv="content-type" content="text/html; charset=utf-8">■
<meta http-equiv="content-type" content="text/html; charset=utf-8">■
<meta http-equiv="content-type" content="text/html; charset=utf-8">■
<meta http-equiv="content-type" content="text/html; charset=utf-8">■
<meta http-equiv="content-type" content="text/html; charset=utf-8">■
<meta http-equiv="content-type" content="text/html; charset=utf-8">■
<meta http-equiv="content-type" content="text/html; charset=utf-8">■
<meta http-equiv="content-type" content="text/html; charset=utf-8">■
<meta http-equiv="content-type" content="text/html; charset=utf-8">■
<meta http-equiv="content-type" content="text/html; charset=utf-8">■
<meta http-equiv="content-type" content="text/html; charset=utf-8">■
<meta http-equiv="content-type" content="text/html; charset=utf-8">■
<meta http-equiv="content-type" content="text/html; charset=utf-8">■
<meta http-equiv="content-type" content="text/html; charset=utf-8">■<br />
原因（私の場合）<br />
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="content-type" content="text/html; charset=utf-8">&nbsp;
<meta http-equiv="content-type" content="text/html; charset=utf-8">■
<meta http-equiv="content-type" content="text/html; charset=utf-8">■
<meta http-equiv="content-type" content="text/html; charset=utf-8">■
<meta http-equiv="content-type" content="text/html; charset=utf-8">■
<meta http-equiv="content-type" content="text/html; charset=utf-8">■
<meta http-equiv="content-type" content="text/html; charset=utf-8">■
<meta http-equiv="content-type" content="text/html; charset=utf-8">■
<meta http-equiv="content-type" content="text/html; charset=utf-8">■
<meta http-equiv="content-type" content="text/html; charset=utf-8">■
<meta http-equiv="content-type" content="text/html; charset=utf-8">■
<meta http-equiv="content-type" content="text/html; charset=utf-8">■
<meta http-equiv="content-type" content="text/html; charset=utf-8">■
<meta http-equiv="content-type" content="text/html; charset=utf-8">■
<meta http-equiv="content-type" content="text/html; charset=utf-8">■
<meta http-equiv="content-type" content="text/html; charset=utf-8">■
<meta http-equiv="content-type" content="text/html; charset=utf-8">■
<meta http-equiv="content-type" content="text/html; charset=utf-8">■
<meta http-equiv="content-type" content="text/html; charset=utf-8">■<br />
以下の手順でマーケットにアップデートしてました。<br />
<ol>
    <li>
    <meta http-equiv="content-type" content="text/html; charset=utf-8">Eclipseにてプロジェクトをビルド</meta>
    </li>
    <li>
    <meta http-equiv="content-type" content="text/html; charset=utf-8"><strong><font color="#FF0000">
    <meta http-equiv="content-type" content="text/html; charset=utf-8">「bin」配下にある「XXXX.apk」に対して「jarsigner」で従来の証明書で署名を実施。     </meta>
    </font></strong></meta>
    </li>
    <li>
    <meta http-equiv="content-type" content="text/html; charset=utf-8">zipalignで最適化する。</meta>
    </li>
    <li>
    <meta http-equiv="content-type" content="text/html; charset=utf-8">アンドロイドマーケットにアップデート</meta>
    </li>
</ol>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="content-type" content="text/html; charset=utf-8"> 手順２が問題となっていることが今回判明した。<br />
<br />
マーケットにあるapkファイルの証明書を確認すると、「従来の証明書」と「デバッグ証明書」が署名されていることがわかった。<br />
<br />
<strong>&lt;&lt;証明書確認コマンド&gt;&gt;</strong><br />
<font size="1">$ jarsigner -verify -verbose -certs &nbsp;<em>XXXXX.apk</em></font><br />
<div>&nbsp;</div>
<meta http-equiv="content-type" content="text/html; charset=utf-8"><strong>&lt;&lt;証明書確認コマンド実行結果&gt;&gt;</strong><br />
<div><font size="1">sm &nbsp; &nbsp;xxxxxx Tue Mar 08 21:58:40 JST 2011 classes.dex</font></div>
<div><font size="1">&nbsp;</font></div>
<div>&nbsp;</div>
<font size="1">
<div>&nbsp;&nbsp; &nbsp; &nbsp;X.509, CN=oreore, OU=oredayo, O=ore, L=bachan, ST=oredayo, C=ore &nbsp;&nbsp;<font color="#FF0000"><strong>&larr;従来の署名</strong></font></div>
</font>
<div><font size="1">&nbsp;&nbsp; &nbsp; &nbsp;[証明書は 10/12/23 7:57 から 38/05/10 7:57 まで有効です]</font></div>
<div><font size="1">&nbsp;</font></div>
<div><font size="1">&nbsp;&nbsp; &nbsp; &nbsp;X.509, CN=Android Debug, O=Android, C=US &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 　 &nbsp; &nbsp; &nbsp; &nbsp;<strong>&larr;デバッグ用署名</strong></font></div>
<div>
<meta http-equiv="content-type" content="text/html; charset=utf-8"><font size="1">&nbsp;&nbsp; &nbsp; &nbsp;[証明書は 11/01/13 23:48 から 12/01/13 23:48 まで有効です]</font><br />
<br />
&nbsp;※従来の署名内容はイメージです。<br />
<br type="_moz" />
&nbsp; </meta>
</div>
これは、eclipseビルド時？、エミュレータ、実機起動時？にeclipseが「デバッグ用証明書」を署名してくれた「
<meta http-equiv="content-type" content="text/html; charset=utf-8">XXXXX.apk」に対して、jarsignerで「
<meta http-equiv="content-type" content="text/html; charset=utf-8">従来の証明書」で署名したため、二重署名された「
<meta http-equiv="content-type" content="text/html; charset=utf-8">XXXXX.apk」ができたことを示している。<br />
<br />
つまり、元々マーケット上にあるapkファイルは「従来の証明書」「デバッグ証明書」の二重署名で、今回アップデートしようとしたapkファイルは、「
<meta http-equiv="content-type" content="text/html; charset=utf-8">従来の証明書」のみの署名であったため、マーケットが「
<meta http-equiv="content-type" content="text/html; charset=utf-8"><font color="#FF0000">apk は前のバージョンと同じ証明書で署名する必要があります。</font>」としていたのである。<br />
<br />
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="content-type" content="text/html; charset=utf-8"><strong><br />
※解決方法※</strong><br />
<br />
<div>上記問題の解決方法は、「パッケージ名を変更する方法
<meta http-equiv="content-type" content="text/html; charset=utf-8">」「二重署名を継続する方法」「地デジ方式」が考えられる。 </meta>
</div>
<ol>
    <li>
    <meta http-equiv="content-type" content="text/html; charset=utf-8">パッケージ名を変更する方法は、二重署名を解消できるメリットがある半面、旧パッケージのユーザがアップデートできないというデメリットがある。</meta>
    </li>
    <li>
    <meta http-equiv="content-type" content="text/html; charset=utf-8">二重署名を継続する方法は、現在のユーザを維持することができるメリットがあるが、デバッグ署名が期限切れとなった場合、新規ユーザが利用できなくなる恐れがある。(検証＆調査してませんので、どうなるか私にはわかりません。)</meta>
    </li>
    <li>
    <meta http-equiv="content-type" content="text/html; charset=utf-8">パッケージ名変更方法に加えて、二重署名APKには、起動時に「このアプリをアンインストールして、新アプリXXXXをインストールしてください。ごめんなさい。」とアプリにメッセージを出してユーザを誘導する地デジ方方式。有料アプリの場合、この方式はとりづらいので要注意！</meta>
    </li>
</ol>
<div>
<meta http-equiv="content-type" content="text/html; charset=utf-8"><br />
<strong>※二重署名アプリのアップデート方法※</strong> </meta>
</div>
<div>&nbsp;</div>
<ol>
    <li>
    <meta http-equiv="content-type" content="text/html; charset=utf-8">「eclipse」にて、「Project Explorer」より問題のプロジェクトを右クリックし、「Android Tools」「Export Unsigned Application Package...」を選択し、署名のないapkファイルを生成する。</meta>
    </li>
    <li>
    <meta http-equiv="content-type" content="text/html; charset=utf-8">eclipseが使っていたと思われるデバッグ証明書「default.keyset」を探す。<br />
    Ubuntuの場合、「~/.android/default.keyset」</meta>
    </li>
    <li>
    <meta http-equiv="content-type" content="text/html; charset=utf-8">jarsignerにて、デバッグ証明書「default.keyset」で署名する。<br />
    <br />
    <font size="1">$&nbsp;&nbsp;jarsigner -sectionsonly -keystore&nbsp;<em>~/.android/</em>debug.keystore -verbose&nbsp;<em>XXXXX.apk</em>&nbsp;androiddebugkey</font><br />
    &nbsp;&nbsp; &nbsp;※パスワードは「android」<br />
    &nbsp;</meta>
    </li>
    <li>
    <meta http-equiv="content-type" content="text/html; charset=utf-8">jarsignerにて、従来の証明書「XXXX.keyset」で署名する。</meta>
    </li>
    <li>
    <meta http-equiv="content-type" content="text/html; charset=utf-8">zipalignで最適化する。</meta>
    </li>
    <li>
    <meta http-equiv="content-type" content="text/html; charset=utf-8">マーケットにアップデートする。</meta>
    </li>
</ol>
<div>この方法で「<font color="#FF0000">apk は前のバージョンと同じ証明書で署名する必要があります。</font>」と拒否していたエラーメッセージも収まり、正常にアップデートできました。</div>
<div><br />
&nbsp;<br />
<strong>※本来の署名方法※</strong></div>
<ol>
    <li>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />「eclipse」にて、「Project Explorer」より問題のプロジェクトを右クリックし、「Android Tools」「Export Signed Application Package...」を選択し、署名のあるapkファイルを生成する。</li>
    <li>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />zipalignで最適化する。</li>
    <li>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />マーケットにアップデートする。</li>
</ol>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>]]>
    </description>
    <category>android</category>
    <link>http://kstv2011.blog.shinobi.jp/android/%E3%80%90%E8%A7%A3%E6%B1%BA%E3%80%91apk%20%E3%81%AF%E5%89%8D%E3%81%AE%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E3%81%A8%E5%90%8C%E3%81%98%E8%A8%BC%E6%98%8E%E6%9B%B8%E3%81%A7%E7%BD%B2%E5%90%8D%E3%81%99%E3%82%8B%E5%BF%85%E8%A6%81%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82</link>
    <pubDate>Sun, 23 Jan 2011 14:53:12 GMT</pubDate>
    <guid isPermaLink="false">kstv2011.blog.shinobi.jp://entry/6</guid>
  </item>
    <item>
    <title>自動物語作成アプリ Majigatari 自動図書</title>
    <description>
    <![CDATA[<a href="http://market.android.com/search?com.gmail.llltatake.majigatari.second">Majigatari</a><br />
<br />
&nbsp;
<meta http-equiv="content-type" content="text/html; charset=utf-8">自動的に童話を作成します。童話のバリエーションは無限大です。毎回異なる童話が作成されるので、永遠に楽しむことができます。<br />
<br />
自動的に童話を作成します。<br />
作成される童話は、16種類のストーリーと<br />
独自に開発した約４０００種類の単語を無作為に選ぶ<br />
ランダム単語エンジンを使用するため、毎回異なる童話が<br />
楽しむことができます。<br />
<br />
童話も数分で読み終えることができるので、<br />
ちょっとした空き時間に気軽に楽しむことができます。<br />
<br />
ただし、童話は自動で作成されるため、シュールな内容に<br />
思わず吹き出してしまう恐れがあるため、電車など<br />
公共の場でのご使用は注意が必要です。<br />
<br />
また、作成した童話はツイッターやメールで共有できます。<br />
2011/02/26 「保存」機能を追加しました。<br />
<br />
<meta http-equiv="content-type" content="text/html; charset=utf-8">&nbsp;アンドロイダー
<meta http-equiv="content-type" content="text/html; charset=utf-8">様にて紹介していただきました。<br />
<meta http-equiv="content-type" content="text/html; charset=utf-8"><a href="http://androider.jp/?p=28843">http://androider.jp/?p=28843<br />
</a><br />
Appliko様にて紹介していただきました。<br />
<meta http-equiv="content-type" content="text/html; charset=utf-8"><a href="http://appliko.jp/review/14975">http://appliko.jp/review/14975<br />
</a>
<meta http-equiv="content-type" content="text/html; charset=utf-8"><br />
ソフトバンクモバイル様よりSoftBankピックアップに選んでいただきました。<br />
掲載期間：2011/03/04 Am10:00～2011/03/11&nbsp;
<meta http-equiv="content-type" content="text/html; charset=utf-8">&nbsp;Am10:00<br />
<meta http-equiv="content-type" content="text/html; charset=utf-8"><a href="http://mb.softbank.jp/mb/smartphone/service/pickup/">http://mb.softbank.jp/mb/smartphone/service/pickup/<br />
</a><br />
<br />
<br />
<img alt="screenshot01.png" border="0" align="left" src="//kstv2011.blog.shinobi.jp/Img/1295792934/" />　　　　<img alt="screenshot02.png" border="0" align="left" src="//kstv2011.blog.shinobi.jp/Img/1295792935/" /><br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<meta http-equiv="content-type" content="text/html; charset=utf-8">≪書庫画面≫<br />
・リストより閲覧したい図書を選択し、閲覧画面へ移動する。<br />
・「書庫入替え」を押下すると、図書を入れ替える。
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 1em; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">≪閲覧画面≫<br />
・「続きを読む」を押下すると、図書を読み進めることができる。<br />
・「書庫へ」を押下すると、書庫画面に戻る。<br />
・「共有」ボタン押下で、twitterやメールで共有できます。</p>
<br />
<br />
<br type="_moz" />
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>]]>
    </description>
    <category>android</category>
    <link>http://kstv2011.blog.shinobi.jp/android/%E8%87%AA%E5%8B%95%E7%89%A9%E8%AA%9E%E4%BD%9C%E6%88%90%E3%82%A2%E3%83%97%E3%83%AA%20majigatari%20%E8%87%AA%E5%8B%95%E5%9B%B3%E6%9B%B8</link>
    <pubDate>Sun, 23 Jan 2011 14:30:49 GMT</pubDate>
    <guid isPermaLink="false">kstv2011.blog.shinobi.jp://entry/5</guid>
  </item>
    <item>
    <title>自動作文アプリ(Majibun)を作成</title>
    <description>
    <![CDATA[Javaで作成していた<a href="http://lll.bakufu.org/">自動作文アプリ</a>を<br />
話題のandroidに移植してみた。<br />
<br />
アンドロイダー様にて紹介していただきました。<br />
<meta http-equiv="content-type" content="text/html; charset=utf-8"><a href="http://androider.jp/?p=28471">http://androider.jp/?p=28471</a><br />
<br />
＜アプリ名＞<br />
<a href="http://market.android.com/details?id=com.gmail.llltatake.majibun"> Majibun</a><br />
<br />
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="content-type" content="text/html; charset=utf-8"><a target="_blank" style="color: rgb(65, 65, 63); text-decoration: none; " href="http://market.android.com/details?id=com.gmail.llltatake.majibun"><br />
</a><br />
<img alt="323ef242.png" border="0" align="left" src="//kstv2011.blog.shinobi.jp/Img/1293064768/" /><br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
＜機能概要＞<br />
<meta http-equiv="content-type" content="text/html; charset=utf-8">作詞、宿題、レポート、反省文、手紙などのネタに困った人に朗報！<br />
指先一つで、作文が出来上がります。<br />
普通の作文と違い、本人の意志と無関係に文を追加します。<br />
<br />
作文は、Twitterやメールで共有できます。<br />
<br />
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 1em; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">※収録単語はリソース節約のため、メモリ常駐、外部ファイル書き込み、DB格納など一切行っておりません。</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 1em; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; ">＜操作方法＞<br />
・「文追加」ボタンを押下すると、ランダムで作成される文を追加する。<br />
・「全消去」ボタンを押下すると、表示中の文章をクリアする。<br />
・「共有」ボタンを押下すると、twitterやメールで共有できる。<br />
・「Font Size」で文字の大きさを選択する。<br />
・品詞ボタンで押下すると単語を追加する。</p>
</meta>
</meta>
</meta>
</meta>
</meta>]]>
    </description>
    <category>android</category>
    <link>http://kstv2011.blog.shinobi.jp/android/%E8%87%AA%E5%8B%95%E4%BD%9C%E6%96%87%E3%82%A2%E3%83%97%E3%83%AA-majibun-%E3%82%92%E4%BD%9C%E6%88%90</link>
    <pubDate>Wed, 22 Dec 2010 21:33:49 GMT</pubDate>
    <guid isPermaLink="false">kstv2011.blog.shinobi.jp://entry/4</guid>
  </item>
    <item>
    <title>Ubuntu10.10でマーケットスピードを使う</title>
    <description>
    <![CDATA[&nbsp;Ubuntu10.10で楽天証券のマーケットスピードを使うためのメモ<br />
<br />
&lt;用意したもの&gt;<br />
・wine1.0<br />
・cabextract<br />
<meta http-equiv="content-type" content="text/html; charset=utf-8">・ies4linux(2.0.4)<br />
<meta http-equiv="content-type" content="text/html; charset=utf-8">・MarketSpeed611Installkits.exe (ver.6.0)<br />
<br />
※以上、wine、ies4linux、マーケットスピードについては、最新版では<br />
実現できなかったので、古いバージョンを使用した。<br />
<br />
&lt;最新版を諦めた理由&gt;<br />
・
<meta http-equiv="content-type" content="text/html; charset=utf-8" /><span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; ">ies4linux<br />
</span>　&rarr;
<meta http-equiv="content-type" content="text/html; charset=utf-8" /><span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; ">インストール中にインストールモジュール(python?)がフリーズしたため<br />
</span>・wine<br />
<meta http-equiv="content-type" content="text/html; charset=utf-8" />　&rarr;
<meta http-equiv="content-type" content="text/html; charset=utf-8" /><span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; ">最新版の&nbsp;ies4linux（&nbsp;2.99.0.1）を諦め、&nbsp;ies4linux（2.0.4）をインストールする際に「wineprefixcreate」が<br />
必要であるため変更した。&nbsp;2.04を選択した根拠は、なんとなく・・・。<br />
wine1.0に落としても、最新版&nbsp;ies4linux（2.99.0.1）はインストールできなかった・・・。</span><br />
・
<meta http-equiv="content-type" content="text/html; charset=utf-8" /><span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; ">マーケットスピード</span><br />
<meta http-equiv="content-type" content="text/html; charset=utf-8" />　&rarr;
<meta http-equiv="content-type" content="text/html; charset=utf-8" /><span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; ">最新版（ver.10）では楽天証券にログインできなかったため変更した。<br />
ちなみに、マーケットスピードver.10のMarketSpeedNanoはログインできた。<br />
ただし、時間の都合で「注文変更」のみしか確認できてない・・・。</span><br />
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="content-type" content="text/html; charset=utf-8"><br />
&lt;手順&gt;<br />
1.wine1.0、
<meta http-equiv="content-type" content="text/html; charset=utf-8">cabextractのインストール<br />
<br />
# sudo apt-get install wine1.0 cabextract<br />
<br />
2.
<meta http-equiv="content-type" content="text/html; charset=utf-8">ies4linux(2.0.4)のインストール<br />
<br />
# wget http://www.tatanka.com.br/ies4linux/downloads/ies4linux-2.0.4.tar.gz
<div># tar zxvf ies4linux-2.0.4.tar.gz&nbsp;</div>
<div># cd ies4linux-2.0.4/</div>
<div># ./ies4linux</div>
<div>&nbsp;</div>
3.マーケットスピードのインストール<br />
<br />
# wine MarketSpeed611Installkits.exe&nbsp;<br />
<br />
4.マーケットスピードの起動<br />
<br />
メニューバーより「アプリケーション」&rarr;「未分類」&rarr;「MarketSpeed」<br />
<img alt="Screenshot.png" border="0" align="left" src="//kstv2011.blog.shinobi.jp/Img/1292613643/" /><br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
以上、でマーケットスピードが起動に成功！！！！！！！！<br />
<img alt="Screenshot-1.png" border="0" align="left" src="//kstv2011.blog.shinobi.jp/Img/1292613644/" /><br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
なんとなくランキングを表示！！！！！！！！！！<br />
<img alt="Screenshot-2.png" border="0" align="left" src="//kstv2011.blog.shinobi.jp/Img/1292613645/" /><br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
&lt;困ってること&gt;<br />
注文確認パスワードを受け付けてくれぬ・・・。<br />
とりあえず観賞用として
<meta http-equiv="content-type" content="text/html; charset=utf-8">マーケットスピードを使用する。<br />
<br />
<br type="_moz" />
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>
</meta>]]>
    </description>
    <category>Linux</category>
    <link>http://kstv2011.blog.shinobi.jp/linux/ubuntu10.10%E3%81%A7%E3%83%9E%E3%83%BC%E3%82%B1%E3%83%83%E3%83%88%E3%82%B9%E3%83%94%E3%83%BC%E3%83%89%E3%82%92%E4%BD%BF%E3%81%86</link>
    <pubDate>Fri, 17 Dec 2010 18:39:53 GMT</pubDate>
    <guid isPermaLink="false">kstv2011.blog.shinobi.jp://entry/2</guid>
  </item>

    </channel>
</rss>