登陆框顺利的写完了,在模拟器上测试也没问题。
第三天该进行实机测试了!
奇怪,为什么实机测试每次走到:
HttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url);
HttpResponse httpResponse = httpClient.execute(httpPost);
这里就会抛出异常呢?
原来之前这个项目是基于android2.3.3写的。然而在android4.0中HTTP传输要写在子线程中才行,既然知道了问题那么对代码稍加修改。
new Thread(new Runnable(){
<span style="white-space:pre"> </span>public void run(){
<span style="white-space:pre"> </span>try {
<span style="white-space:pre"> </span>HttpClient httpClient = new DefaultHttpClient();
<span style="white-space:pre"> </span>HttpPost httpPost = new HttpPost(<span style="font-family: Arial, Helvetica, sans-serif;">url</span><span style="font-family: Arial, Helvetica, sans-serif;">); </span>
HttpResponse httpResponse = httpClient.execute(httpPost);
if (httpResponse.getStatusLine().getStatusCode() == 200){
<span style="white-space:pre"> </span>...
<span style="white-space:pre"></span><pre name="code" class="java"><span style="white-space:pre"> </span>}
} catch (Exception e) {
e.printStackTrace();
<span style="white-space:pre"> </span> }
}
}).start();
重新实机测试,问题完美解决。
那么接下来就该打包项目了,很简单吗,只要生成个秘钥再打包就可以了。
那么具体该怎么做呢?
要先配置环境变量
右键计算机-->属性-->高级系统设置-->高级-->环境变量 然后如图设置
keytool.exe和jarsigner.exe 都要配置(注意改路径,不是每个人的路径都一样)
然后运行 cmd
先 CD C:\Program Files\Java\jdk1.8.0_31\bin 然后 keytool -genkey -alias android.keystore -keyalg RSA -validity 100000 -keystore android.keystore
然后输入密码,注意此处就算输入了也不会显示* 哦
居然拒绝访问!这是怎么回事!?
经过度娘才知道原来是C盘权限的原因,既然知道了那么改一下输出路径不经好了吗?
把 keytool -genkey -alias android.keystore -keyalg RSA -validity 100000 -keystore android.keystore
改成 keytool -genkey -alias android.keystore -keyalg RSA -validity 100000 -keystore D:\key\android.keystore
完美解决了!
既然有了秘钥,那么接下来。
右键点击项目–->Export -->Android-–>Export Signed Application 然后一路Next
最后Finish,打包完成,明天就是周末了,终于可以好好休息下了。
未完待续...