在项目“HelloAndroid”上运行构建器“Android Package Builder”时出错。 sun/security/x509/X500Name
Posted
技术标签:
【中文标题】在项目“HelloAndroid”上运行构建器“Android Package Builder”时出错。 sun/security/x509/X500Name【英文标题】:Errors running builder 'Android Package Builder' on project 'HelloAndroid'. sun/security/x509/X500Name 【发布时间】:2012-05-27 21:33:50 【问题描述】:我刚刚安装了 Eclipse-Classic 3.7.2 和 android SDK。还使用 ADT 插件安装/配置了 eclipse。
现在按照http://developer.android.com/resources/tutorials/hello-world.html 中的步骤创建“Hello World”应用程序后,我尝试在 Android 模拟器中运行该应用程序。但这会引发错误
构建期间发生错误。运行构建器“Android”时出错 项目“HelloAndroid”上的“包生成器”。 sun/security/x509/X500Name
您能否解释一下我在这里做错了什么,或者我需要为这个错误解决什么问题。
谢谢 泽山
【问题讨论】:
遇到同样的问题 -> 因为在计算机上运行 IBM JRE。通过“-vm在我的例子中,ADT 插件试图使用启动 eclipse 的 JVM 中的 keytool 实用程序。这是 IBM JDK,这失败了,因为 IBM JDK 附带的 keytool 与 Sun 版本不兼容——它的语法与 Google 文档不匹配,它会自动在 ~/.keystore 中创建密钥库文件(没有实际上告诉你它是在哪里创建的)。 以下解决方案对我有用: 1。安装sun jvm 2。从终端执行:eclipse -vm path_to_sun_java/javaw
您可以编辑 eclipse.ini 以告知使用哪个 jvm(参考 eclipse.ini),而不是第 2 步
-vm
/usr/lib/sunjdk/bin/javaw
【讨论】:
【参考方案2】:问题与您正在使用的 JVM 有关,但也与必须使用该 JVM 的 keytool 生成的证书有关。
这是我在我的 Linux Ubuntu v11.04 系统中用来解决这个问题的命令:
我已在我的计算机上安装了 Oracle/Sun SDK 1.6(SDK 不是 JRE 版本)。
我使用以下指令将此新的 SUN JVM 设为默认值
sudo update-alternatives --config java
注意会显示系统上所有可用 JVM 的列表,请选择 SUN。
现在您可以使用 SUN 提供的 JVM 执行此命令:
keytool -genkey -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android -keyalg RSA -validity 14000
注意您应该在执行此命令之前删除旧的 debug.keystore 文件,或根据需要重命名。
现在您的系统已经启动并运行,那么您需要在 Eclipse 中配置新的 JVM 以便使用这个新版本进行编译。
【讨论】:
以上是关于在项目“HelloAndroid”上运行构建器“Android Package Builder”时出错。 sun/security/x509/X500Name的主要内容,如果未能解决你的问题,请参考以下文章
Eclipse / Android:“在项目上运行构建器'Android Pre Compiler'时出错......”