项目“HelloAndroid”上运行构建器“Android Package Builder”的错误。太阳/安全/ X509 / X500Name

时间:2012-05-21 11:25:09

标签: android eclipse adt

我刚安装了Eclipse-Classic 3.7.2和android SDK。还使用ADT插件安装/配置了eclipse。

现在按照http://developer.android.com/resources/tutorials/hello-world.html中的步骤创建“Hello World”应用程序后,我尝试在Android Emulator中运行该应用程序。但这是一个错误

  

构建期间发生错误。运行构建器'Android的错误   Package Builder'项目'HelloAndroid'。   太阳/安全/ X509 / X500Name

你能解释一下我在这里做错了什么,或者我需要解决这个错误。

谢谢 Zeeshan

2 个答案:

答案 0 :(得分:5)

就我而言,ADT插件试图使用JVM中的keytool实用程序来启动eclipse。这是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

答案 1 :(得分:3)

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

这是您在我的Linux Ubuntu v11.04系统中用于解决此问题的命令:

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

  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
    
  4. 注意您应该在执行此命令之前删除旧的debug.keystore文件,或者根据需要重命名它。

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