【问题标题】:Errors running builder 'Android Package Builder' on project 'HelloAndroid'. sun/security/x509/X500Name在项目“HelloAndroid”上运行构建器“Android Package Builder”时出错。 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 路径的问题已解决

标签: android eclipse adt


【解决方案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 系统中用来解决这个问题的命令:

    1. 我已在我的计算机上安装了 Oracle/Sun SDK 1.6(SDK 不是 JRE 版本)。

    2. 我使用以下指令将此新的 SUN JVM 设为默认值

      sudo update-alternatives --config java

      注意会显示系统上所有可用 JVM 的列表,请选择 SUN。

    3. 现在您可以使用 SUN 提供的 JVM 执行此命令:

      keytool -genkey -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android -keyalg RSA -validity 14000
      

    注意您应该在执行此命令之前删除旧的 debug.keystore 文件,或根据需要重命名。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-09-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-05
      • 2013-08-08
      • 2012-07-07
      相关资源
      最近更新 更多