使用dalvikvm加载类时,拒绝重新初始化以前失败的类错误

时间:2016-02-05 05:07:47

标签: javac android-5.1.1-lollipop terminal-ide

我正在尝试在Lollipop 5.1.1上使用终端IDE。使用Samsung E7设备,XDA上的某个人提供了终端IDE的mod版本  这里: http://forum.xda-developers.com/showthread.php?t=1340852&page=7

我尝试在该mod中使用javac脚本,但它给出了一个不满意的链接错误,说:

$ javac
java.lang.UnsatisfiedLinkError: org.apache.harmony.security.fortress.Services
       at             org.apache.harmony.security.fortress.Engine.getServices(Engine.java:158)
        at         org.apache.harmony.security.fortress.Engine.getInstance(Engine.java:137)
        at         java.security.cert.CertificateFactory.getInstance(CertificateFactory.java:90)
        at
    org.apache.harmony.security.utils.JarUtils.verifySignature(JarUtils.java:83)
        at     java.util.jar.JarVerifier.verifyCertificate(JarVerifier.java:294)
        at     java.util.jar.JarVerifier.readCertificates(JarVerifier.java:268)
        at     java.util.jar.JarFile.getInputStream(JarFile.java:380)
        at     libcore.net.url.JarURLConnectionImpl.getInputStream(JarURLConnectionImpl.java:222)
        at     java.net.URL.openStream(URL.java:470)
        at     java.lang.ClassLoader.getResourceAsStream(ClassLoader.java:444)
        at     java.util.ResourceBundle.handleGetBundle(ResourceBundle.java:515)
        at     java.util.ResourceBundle.handleGetBundle(ResourceBundle.java:542)
        at     java.util.ResourceBundle.handleGetBundle(ResourceBundle.java:542)
        at     java.util.ResourceBundle.getBundle(ResourceBundle.java:228)
        at     java.util.ResourceBundle.getBundle(ResourceBundle.java:139)
        at     com.sun.tools.javac.main.JavaCompiler.version(JavaCompiler.java:112)
        at     com.sun.tools.javac.main.JavaCompiler.version(JavaCompiler.java:97)
        at     com.sun.tools.javac.main.Main.bugMessage(Main.java:434)
        at     com.sun.tools.javac.main.Main.compile(Main.java:421)
        at     com.sun.tools.javac.main.Main.compile(Main.java:308)
        at     com.sun.tools.javac.main.Main.compile(Main.java:299)
        at     com.sun.tools.javac.Main.compile(Main.java:82)
        at     com.spartacusrex.spartacuside.external.javac.main(javac.java:13)
    $

奇怪的是有一个 UnsatisfiedLinkError ,因为它没有说VM找不到xyz.so库或者找不到xyz方法。 我在Device上使用终端IDE' logcat脚本后立即尝试使用javac命令,我发现的奇怪之处在于:

I/art     ( 6558) : rejecting re-init on previously-failed class java.lang.Class<org.apache.harmony.security.fortress.Services>

我无法理解为什么会这样, javac脚本使用android&#39; dalvikvm命令加载

com.spartacusrex.spartacuside.external.javac

类。人们在sdk版本rejecting re-init上遇到了这个20+问题,但我不清楚为什么会出现此信息消息以及如何解决此问题。

1 个答案:

答案 0 :(得分:1)

我将/system/lib/libjavacrypto.so复制到Terminal IDE的~/system/lib文件夹,现在javac和dx工具正在运行。 看起来谷歌搞砸了/ system / lib中的东西导致了错误。 回答其他人可能会发现它有用。