我正在运行Eclipse:Helios.这是问题所在.当我在编程时让我的Android模拟器运行大约20分钟时,如果我尝试安装并运行我的应用程序,我在控制台中收到此错误:
[2011-07-12 12:27:55 - DatePrinter]无法在设备'emulator-5554'上安装DatePrinter.apk:连接被拒绝:连接
[2011-07-12 12:27:55 - DatePrinter] java.net.ConnectException:连接被拒绝:连接
[2011-07-12 12:27:55 - DatePrinter]发布取消!
如果我关闭模拟器并再次运行项目,则会启动一个新的模拟器,并且控制台会显示模拟器启动但应用程序未安装且模拟器未显示在DDMS中.
如果我去终端并输入adb devices,我收到此错误消息
ADB服务器没有确认
*未能启动守护进程*
错误无法连接到守护程序
我发现的唯一方法就是关闭eclipse,杀死adb.exe进程并重新启动eclipse.
什么可能导致此错误的想法/如何调试它?
编辑:通过SDK管理器启动模拟器也不会产生任何积极的结果.
编辑2:运行adb kill-server和adb start-server会产生相同的消息"ADB Server没有确认",尽管它"daemon not started, starting it now on port 5037"在此之前打印了一个权限.
所以这就是我想要做的.我有一个硬件令牌,上面有一些证书,我正在编写一个Java应用程序来尝试访问这些证书.我在jre6中使用了SunPKCS11库来获取Windows 32位机器.这是我访问证书的一小部分示例:
String configName = "pkcs.cnf"
String PIN = "123456";
Provider p = new sun.security.pkcs11.SunPKCS11(configName);
Security.addProvider(p);
KeyStore keyStore = KeyStore.getInstance("PKCS11");
char[] pin = PIN.toCharArray();
keyStore.load(null, pin);
Run Code Online (Sandbox Code Playgroud)
它工作得很好,我能够获得证书和一切.现在我试图在64位机器上做同样的事情.但是我试图使用64位jre6库,而且缺少SunPKCS11 jar文件(located in {java.home}/lib/ext.因此,我无法创建SunPKCS11对象.我的问题是,我现在该怎么办?如何使用64位Java库访问令牌上的证书?是否有人为这样的任务写了64位包装器?
我正在制作一个在xml文件上进行DOM解析的android应用程序.我有一个xml文件,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<family>
<grandparent>
<parent1>
<child1>Foo</child1>
<child2>Bar</child2>
</parent1>
<parent2>
<child1>Raz</child1>
<child2>Mataz</child2>
</parent2>
</grandparent>
</family>
Run Code Online (Sandbox Code Playgroud)
如果我在其上运行dom解析器,就像这样:
try {
DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
Document doc = builder.parse(input);
doc.getDocumentElement().normalize(); //added in since the edit
NodeList nodd = doc.getElementsByTagName("grandparent");
for (int x = 0; x < nodd.getLength(); x++){
Node node = nodd.item(x);
NodeList nodes = node.getChildNodes();
for(int y = 0; y < nodes.getLength(); y++){
Node n = nodes.item(y);
System.out.println(n.getNodeName());
}
}
}
Run Code Online (Sandbox Code Playgroud)
我的应用程序打印出以下内容
07-20 18:24:28.395:INFO/System.out(491):#text
07-20 18:24:28.395:INFO/System.out(491):parent1
07-20 18:24:28.395:INFO/System.out(491):#text
07-20 18:24:28.395:INFO/System.out(491):parent2
07-20 …
所以现在TabActivity从3.0开始正式弃用,我正在将我的所有TabActivities切换为Fragments.但首先我决定研究片段
我正在阅读设计理念,其中一条线是:
Android在Android 3.0(API级别"Honeycomb")中引入了片段,主要是为了在大屏幕(如平板电脑)上支持更加动态和灵活的UI设计.
现在,我不是在开发平板电脑,我的应用也不会看到平板电脑.除非使用弃用代码的坏主意,如果我不打算使用大屏幕或动画,我必须获得什么,这似乎是他们兜售的主要内容?
所以我在这里遇到了一些问题,使用wsdls并在java中选择多个证书.例如,智能卡上有多个证书,用于签名,加密和识别.我有一个WSDL为客户端auth连接生成代码,但据我所知,你通过设置属性给wsdl一个到密钥库的路径,就像这样
System.setProperty("javax.net.ssl.keyStore",
keyStore);
System.setProperty("javax.net.ssl.keyStorePassword",
keyStorePassword);
Run Code Online (Sandbox Code Playgroud)
我正在学习本教程.现在,对于密钥库中的多个证书(如智能卡),这会产生问题,因为无法在该智能卡上指定要使用的WHICH证书.看起来wsdl选择了密钥库中的第一个证书,这可能是要进行身份验证的错误证书.
我的问题是双重的:
有没有办法System.setProperty告诉wsdl使用哪个证书?我可以做些什么来指定哪个证书,因为大多数代码是由wsdl使用生成的wsconsume?
将System.setProperty()只允许您指定的路径.有没有办法指定一个对象?我从智能卡获取证书的方式是使用SunPKCS11类(如此处所示).但是,这会返回给我一个keystore对象,据我所知System.setProperty()想要一个路径.
谢谢你的帮助!
所以我还在学习SNMP,请放心.我正在使用snmp4j,而不仅仅是库,但是我已经加载了源代码,如果它能得到我需要的东西,我不反对修改源代码.我编写了一个代理和一个测试客户端.我想要做的是能够检查来自测试客户端的请求,特别是监听对特定OID的"设置"请求.
我正在考虑这样做的当前方式是在运行snmp4j方法fireProcessMessage(位于包中org.snmp4j.transport.DefaultUdpTranportMapping)后立即捕获请求,但我不知道代理如何查询自己的mib以获取oid.是否存在代理用于从其mib获取OID值的方法?
或者有更好的方法来捕获特定的SET请求吗?甚至可以做我想做的事情吗?基本上我想要做的是如果客户端将某个OID值设置为1(true),则运行另一个进程.
我正在使用SpongyCastle(完全实现BouncyCastle的Android加密功能),我有一个包含大小为384的密钥的bks.我正在尝试使用KeyStore.getKey(别名,密码)方法提取该密钥.密钥库中的任何密钥.但我遇到的是错误
java.security.UnrecoverableKeyException: no match.
做一些研究表明,这可能是因为密钥大小太大而Android无法处理,这是有道理的,因为我的程序获得大小128和256的其他密钥没问题.通常在Java中,这可以通过将"Unlimited Strength"JCE导入Java安全文件夹来解决,但是android呢?我可以将无限强度JCE导入android(我的直觉本能是否)如果没有,是否有任何关于如何提取密钥的建议?SpongyCastle解决了我的很多其他问题,我希望这里也有SpongyCastle解决方案.
谢谢!
android ×4
java ×2
32bit-64bit ×1
adb ×1
bouncycastle ×1
certificate ×1
dom ×1
eclipse ×1
keystore ×1
pkcs#11 ×1
snmp ×1
snmp4j ×1
spongycastle ×1
wsdl ×1
xml-parsing ×1