在项目“HelloAndroid”上运行生成器“Android软件包生成器”时出错。sun/security/x509/X500名称

在项目“HelloAndroid”上运行生成器“Android软件包生成器”时出错。sun/security/x509/X500名称,android,eclipse,adt,Android,Eclipse,Adt,我刚刚安装了Eclipse Classic 3.7.2和android SDK。还安装/配置了带有ADT插件的eclipse 现在,在完成创建Hello World应用程序的步骤后,我尝试在Android Emulator中运行该应用程序。但这是一个错误 生成过程中发生错误。运行生成器的Android时出错 项目“HelloAndroid”上的包生成器“”。 sun/security/x509/X500名称 你能解释一下我在这里做错了什么,或者我需要为这个错误修复什么吗 多谢各位 Zeeshan

我刚刚安装了Eclipse Classic 3.7.2和android SDK。还安装/配置了带有ADT插件的eclipse

现在,在完成创建Hello World应用程序的步骤后,我尝试在Android Emulator中运行该应用程序。但这是一个错误

生成过程中发生错误。运行生成器的Android时出错 项目“HelloAndroid”上的包生成器“”。 sun/security/x509/X500名称

你能解释一下我在这里做错了什么,或者我需要为这个错误修复什么吗

多谢各位
Zeeshan

问题与您正在使用的JVM有关,但也与必须从此JVM使用keytool生成的证书有关

以下是我在Linux Ubuntu v11.04系统中用来解决此问题的命令:

我已经在我的计算机上安装了Oracle/Sun SDK 1.6 SDK,而不是JRE SDK

我使用以下指令将这个新的sunjvm设置为默认值

sudo更新备选方案-config java

注意:系统上显示了一个包含所有可用JVM的列表,请选择SUN one

现在,您将能够使用SUN提供的JVM执行此命令:

keytool -genkey -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android -keyalg RSA -validity 14000
注意:在执行此命令之前,应该删除旧的debug.keystore文件,或者根据需要重命名它


现在您的系统已经启动并运行,那么您需要在Eclipse中配置新的JVM,以便使用这个新版本进行编译。

在我的例子中,ADT插件试图使用启动Eclipse的JVM中的keytool实用程序。这是IBM JDK,但失败了,因为IBM JDK附带的keytool与Sun版本不兼容-它的语法与Google文档不匹配,它会自动在~/.keystore中创建密钥库文件,而不会告诉您它是在哪里创建的。 以下解决方案对我有效: 1.安装sun jvm 2.从终端执行:eclipse-vm路径到sun路径java/javaw

您可以编辑eclipse.ini来告诉使用哪个jvm,而不是步骤2


由于在计算机上运行IBM JRE,获得了相同的问题->。通过-vm arg解决了在eclipse.ini中指定Oracle JRE路径的问题。
-vm
/usr/lib/sunjdk/bin/javaw