在项目“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 ”arg. 在 eclipse.ini 中指定 Oracle JRE 路径的问题已解决 【参考方案1】:

在我的例子中,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'时出错......”

项目“MyProject”上运行构建器“Faceted Project Validation Builder”的错误

Android SDK 包无法构建新项目

图像未在主要发布时显示,但在“场景”构建器上显示

SBT将项目ID添加到多项目构建中的日志中

Linux 运行时链接器错误