<?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/"
	>

<channel>
	<title>command not found &#8211; 記下來</title>
	<atom:link href="https://noter.tw/tag/command-not-found/feed/" rel="self" type="application/rss+xml" />
	<link>https://noter.tw</link>
	<description>一路上踩到的坑、遇到的問題，一點一滴記下來，希望能幫助到需要的人~</description>
	<lastBuildDate>Tue, 02 Jul 2019 05:44:27 +0000</lastBuildDate>
	<language>zh-TW</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.6.3</generator>

<image>
	<url>https://noter.tw/wp-content/uploads/cropped-old-1130742_1920-1-32x32.jpg</url>
	<title>command not found &#8211; 記下來</title>
	<link>https://noter.tw</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>簽署你的Android應用程式(.keystore)</title>
		<link>https://noter.tw/1916/%e7%b0%bd%e7%bd%b2%e4%bd%a0%e7%9a%84android%e6%87%89%e7%94%a8%e7%a8%8b%e5%bc%8f-keystore/</link>
					<comments>https://noter.tw/1916/%e7%b0%bd%e7%bd%b2%e4%bd%a0%e7%9a%84android%e6%87%89%e7%94%a8%e7%a8%8b%e5%bc%8f-keystore/#comments</comments>
		
		<dc:creator><![CDATA[黃小蛙]]></dc:creator>
		<pubDate>Fri, 03 Feb 2012 11:00:39 +0000</pubDate>
				<category><![CDATA[手機 App]]></category>
		<category><![CDATA[sign]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[apk]]></category>
		<category><![CDATA[command not found]]></category>
		<category><![CDATA[keystore]]></category>
		<category><![CDATA[keytool]]></category>
		<guid isPermaLink="false">http://wazai.net/?p=1916</guid>

					<description><![CDATA[<p>一般在開發Android軟體的時候，會使用預設的debugkey來做簽署動作，當app要上market時就必須要產生一個專用的簽署檔案(.keystore)，沒有辦法再繼續使用debugkey。這篇文&#46;&#46;&#46;</p>
<p>這篇文章 <a rel="nofollow" href="https://noter.tw/1916/%e7%b0%bd%e7%bd%b2%e4%bd%a0%e7%9a%84android%e6%87%89%e7%94%a8%e7%a8%8b%e5%bc%8f-keystore/" data-wpel-link="internal">簽署你的Android應用程式(.keystore)</a> 最早出現於 <a rel="nofollow" href="https://noter.tw" data-wpel-link="internal">記下來</a>。</p>
]]></description>
										<content:encoded><![CDATA[<p>一般在開發Android軟體的時候，會使用預設的debugkey來做簽署動作，當app要上market時就必須要產生一個專用的簽署檔案(.keystore)，沒有辦法再繼續使用debugkey。這篇文章記錄怎麼產生.keystore。<br />
<span id="more-1916"></span><br />
其實網路上有很多分享或很多Android相關書籍都寫得很詳細，這篇文章小蛙記錄一下，免得每次要產生的時候都還要google(<a href="http://developer.android.com/guide/publishing/app-signing.html" target="_blank" rel="noopener noreferrer nofollow external" data-wpel-link="external" class="wpel-icon-right">官方文件<span class="wpel-icon wpel-image wpel-icon-6"></span></a>有很詳細的說明)。產生keystore必須透過Java的<span style="color: #ff0000;"><strong>keytool</strong></span>工具，以下對keytool的解釋節錄自<a href="http://ssl.wis.com.tw/guide/faq_keytool.asp" target="_blank" rel="noopener noreferrer nofollow external" data-wpel-link="external" class="wpel-icon-right">Keytool工具介紹@匯智<span class="wpel-icon wpel-image wpel-icon-6"></span></a>：</p>
<blockquote><p>&#8230;<br />
Keytool 是一個有效的安全鑰匙和憑證的管理工具. 它能夠使用戶使用數位簽名來管理他們自己的私有/公共鑰匙對,管理用來作自我鑒定的相關的憑證,管理資料完整性和鑒定服務.它還能使用戶在通信時緩存它們的公共鑰匙.<br />
&#8230;</p></blockquote>
<p>產生的方法很簡單，只要照著貼就可以了。</p>
<pre class="brush: bash; gutter: true">keytool -genkey -v -keystore rdss.keystore -alias rdss -keyalg RSA -keysize 2048 -validity 10000</pre>
<p>如果這邊出現「<span style="color: #ff0000;"><strong>keytool: command not found</strong></span>」，請把$JAVA_HOME\bin加入環境變數$PATH中，或是直接到$JAVA_HOME\bin\目錄下執行keytool，例如小蛙的環境是C:\Program Files\Java\jdk1.7.0_02\bin，就先cd C:\Program Files\Java\jdk1.7.0_02\bin之後開始輸入上面的指令。<br />
將上述指令<strong>-keystore</strong> rdss.keystore以及<strong>-alias</strong> rdss中的rdss改成自己要的名字，其他東西照著貼上就好，<strong>-validity</strong>官方說明文件建議設定10000以上的值(指令細節可參考<a href="http://developer.android.com/guide/publishing/app-signing.html" target="_blank" rel="noopener noreferrer nofollow external" data-wpel-link="external" class="wpel-icon-right">官方文件<span class="wpel-icon wpel-image wpel-icon-6"></span></a>)。</p>
<pre>輸入金鑰儲存庫密碼: mykeystorepassword
重新輸入新密碼: mykeystorepassword
您的名字與姓氏為何？
&nbsp; [Unknown]:&nbsp; Hans
您的組織單位名稱為何？
&nbsp; [Unknown]:
您的組織名稱為何？
&nbsp; [Unknown]:
您所在的城市或地區名稱為何？
&nbsp; [Unknown]:&nbsp; Taipei
您所在的州及省份名稱為何？
&nbsp; [Unknown]:&nbsp; Taiwan
此單位的兩個字母國別代碼為何？
&nbsp; [Unknown]:&nbsp; TW
CN=Hans, OU=Unknown, O=Unknown, L=Taipei, ST=Taiwan, C=TW 正確嗎？
&nbsp; [否]:&nbsp; Y
針對 CN=Hans, OU=Unknown, O=Unknown, L=Taipei, ST=Taiwan, C=TW 產生有效期 10,000
&nbsp;天的 2,048 位元 RSA 金鑰組以及自我簽署憑證 (SHA256withRSA)
輸入 &lt;rdss&gt; 的金鑰密碼
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (RETURN 如果和金鑰儲存庫密碼相同):
新憑證 (自我簽署):
...
[儲存 rdss.keystore]</pre>
<p>密碼千萬要記牢，小蛙在開發照照明星臉的時候就是忘了密碼，花了兩天的時間把所有可能的密碼都試過一次才終於式出來&gt;&lt;(前後兩個基本上用一樣的密碼就好了，免得忘記)，完成後可以看到在執行keytool的目錄下出現了一個剛剛設定的「rdss.keystore」，如此一來就完成自己的簽署檔案囉！<br />
接下來簽署的動作可以直接透過Eclipse工具來完成，到要匯出的專案上點選滑鼠右鍵-&gt; Adroid Tools -&gt; Export Signed Application Package&#8230;<br />
<a href="https://lh4.googleusercontent.com/-aqTbkQ8lHGo/Tyt72FwMQwI/AAAAAAAAEEQ/niCKSWmVgkw/s400/sign-1.png" target="_blank" rel="noopener nofollow external noreferrer" data-wpel-link="external"><img fetchpriority="high" decoding="async" class="alignnone" title="簽署APK" src="https://lh4.googleusercontent.com/-aqTbkQ8lHGo/Tyt72FwMQwI/AAAAAAAAEEQ/niCKSWmVgkw/s400/sign-1.png" alt="sign 1 簽署你的Android應用程式(.keystore)" width="400" height="130"></a><br />
選擇要匯出的專案<br />
<a href="https://lh6.googleusercontent.com/-b4jOlX0F4_c/Tyt72FHOlqI/AAAAAAAAEEM/B7TreySbz2o/s800/sign-2.png" target="_blank" rel="noopener noreferrer nofollow external" data-wpel-link="external"><img decoding="async" class="alignnone" title="簽署APK" src="https://lh6.googleusercontent.com/-b4jOlX0F4_c/Tyt72FHOlqI/AAAAAAAAEEM/B7TreySbz2o/s800/sign-2.png" alt="sign 2 簽署你的Android應用程式(.keystore)" width="475"></a><br />
選取剛剛產生的.keystore檔案，並且輸入密碼。<br />
<a href="https://lh3.googleusercontent.com/-KHyqnQl2VcU/Tyt72P0zVqI/AAAAAAAAEEI/-4ZpJ4C2X44/s800/sign-3.png" target="_blank" rel="noopener noreferrer nofollow external" data-wpel-link="external"><img decoding="async" class="alignnone" title="簽署APK" src="https://lh3.googleusercontent.com/-KHyqnQl2VcU/Tyt72P0zVqI/AAAAAAAAEEI/-4ZpJ4C2X44/s800/sign-3.png" alt="sign 3 簽署你的Android應用程式(.keystore)" width="475"></a><br />
選擇alias，並輸入密碼。<br />
<a href="https://lh5.googleusercontent.com/-0wXO5pLqWlU/Tyt72_FGR6I/AAAAAAAAEEU/mjgGwiMNElg/s800/sign-4.png" target="_blank" rel="noopener noreferrer nofollow external" data-wpel-link="external"><img decoding="async" class="alignnone" title="簽署APK" src="https://lh5.googleusercontent.com/-0wXO5pLqWlU/Tyt72_FGR6I/AAAAAAAAEEU/mjgGwiMNElg/s800/sign-4.png" alt="sign 4 簽署你的Android應用程式(.keystore)" width="475"></a><br />
設定APK產生的位置，大功告成。<br />
<a href="https://lh4.googleusercontent.com/-h8xSz_HdWZE/Tyt73M3sViI/AAAAAAAAEEc/oQv7-gjusD0/s800/sign-5.png" target="_blank" rel="noopener noreferrer nofollow external" data-wpel-link="external"><img decoding="async" class="alignnone" title="簽署APK" src="https://lh4.googleusercontent.com/-h8xSz_HdWZE/Tyt73M3sViI/AAAAAAAAEEc/oQv7-gjusD0/s800/sign-5.png" alt="sign 5 簽署你的Android應用程式(.keystore)" width="475"></a><br />
產生出來的RDSS.apk就可以直接上傳到market囉！</p>
<p>這篇文章 <a rel="nofollow" href="https://noter.tw/1916/%e7%b0%bd%e7%bd%b2%e4%bd%a0%e7%9a%84android%e6%87%89%e7%94%a8%e7%a8%8b%e5%bc%8f-keystore/" data-wpel-link="internal">簽署你的Android應用程式(.keystore)</a> 最早出現於 <a rel="nofollow" href="https://noter.tw" data-wpel-link="internal">記下來</a>。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://noter.tw/1916/%e7%b0%bd%e7%bd%b2%e4%bd%a0%e7%9a%84android%e6%87%89%e7%94%a8%e7%a8%8b%e5%bc%8f-keystore/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
	</channel>
</rss>
