RSA 8.0.1中的Android编译问题(Eclipse 3.6) - NoClassDefFoundError:sun / security / x509 / X500Name

时间:2011-04-05 15:18:06

标签: android eclipse rational-rsa

我顺利安装了日食的ADT插件。当我创建我的第一个Android项目时,我立即得到了编译错误。我发现sun/security/x509/X500Name在rt.jar中,所以我尝试将其添加到我的构建路径中,但是这会导致项目在编译时占用大量内存(我觉得这很不寻常)。有没有人能够解决这个问题?我正在使用jdk1.6.0_24。我看到其他模糊的帖子说我需要使用Sun JDK。我已经在使用它,我已经在我的JAVA_HOME中使用了它。我很感激你能提供的任何帮助。感谢。

java.lang.NoClassDefFoundError: sun/security/x509/X500Name
    at com.android.sdklib.internal.build.SignedJarBuilder.writeSignatureBlock(Unknown Source)
    at com.android.sdklib.internal.build.SignedJarBuilder.close(Unknown Source)
    at com.android.sdklib.build.ApkBuilder.sealApk(Unknown Source)
    at com.android.ide.eclipse.adt.internal.build.BuildHelper.finalPackage(Unknown Source)
    at com.android.ide.eclipse.adt.internal.build.BuildHelper.finalDebugPackage(Unknown Source)
    at com.android.ide.eclipse.adt.internal.build.builders.PostCompilerBuilder.build(Unknown Source)
    at org.eclipse.core.internal.events.BuildManager$2.run(Unknown Source)
    at org.eclipse.core.runtime.SafeRunner.run(Unknown Source)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(Unknown Source)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(Unknown Source)
    at org.eclipse.core.internal.events.BuildManager$1.run(Unknown Source)
    at org.eclipse.core.runtime.SafeRunner.run(Unknown Source)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(Unknown Source)
    at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(Unknown Source)
    at org.eclipse.core.internal.events.BuildManager.build(Unknown Source)
    at org.eclipse.core.internal.events.AutoBuildJob.doBuild(Unknown Source)
    at org.eclipse.core.internal.events.AutoBuildJob.run(Unknown Source)
    at org.eclipse.core.internal.jobs.Worker.run(Unknown Source)

2 个答案:

答案 0 :(得分:1)

未找到的类由Android SDK的SignedJarBuilder使用。解决方案可能不是使用Android SDK的签名,而是通过jarsigner命令单独签署创建的.apk。

我使用Maven进行了签名 - http://code.google.com/p/maven-android-plugin/wiki/SigningAPKWithMavenJarsigner

您可以通过以下方式指定调试签名:

   <keystore>
    ${user.home}${file.separator}.android${file.separator}debug.keystore
   </keystore>
   <storepass>android</storepass>
   <keypass>android</keypass>
   <alias>androiddebugkey</alias>

答案 1 :(得分:0)

我安装了一个独立的Eclipse 3.6 IDE(Helios),它就像一个魅力。基于此,我得出结论,这将永远不会与IBM的RSA 8.0.1一起使用(即使它基于Eclipse 3.6)。