我正在尝试在 Lollipop 5.1.1 上使用终端 IDE。使用三星 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 在 org.apache.harmony.security.fortress.Engine.getServices(Engine.java:158) 在 org.apache.harmony.security.fortress.Engine.getInstance(Engine.java:137) 在 java.security.cert.CertificateFactory.getInstance(CertificateFactory.java:90) 在 org.apache.harmony.security.utils.JarUtils.verifySignature(JarUtils.java:83) 在 java.util.jar.JarVerifier.verifyCertificate(JarVerifier.java:294) 在 java.util.jar.JarVerifier.readCertificates(JarVerifier.java:268) 在 java.util.jar.JarFile.getInputStream(JarFile.java:380) 在 libcore.net.url.JarURLConnectionImpl.getInputStream(JarURLConnectionImpl.java:222) 在 java.net.URL.openStream(URL.java:470) 在 java.lang.ClassLoader.getResourceAsStream(ClassLoader.java:444) 在 java.util.ResourceBundle.handleGetBundle(ResourceBundle.java:515) 在 java.util.ResourceBundle.handleGetBundle(ResourceBundle.java:542) 在 java.util.ResourceBundle.handleGetBundle(ResourceBundle.java:542) 在 java.util.ResourceBundle.getBundle(ResourceBundle.java:228) 在 java.util.ResourceBundle.getBundle(ResourceBundle.java:139) 在 com.sun.tools.javac.main.JavaCompiler.version(JavaCompiler.java:112) 在 com.sun.tools.javac.main.JavaCompiler.version(JavaCompiler.java:97) 在 com.sun.tools.javac.main.Main.bugMessage(Main.java:434) 在 com.sun.tools.javac.main.Main.compile(Main.java:421) 在 com.sun.tools.javac.main.Main.compile(Main.java:308) 在 com.sun.tools.javac.main.Main.compile(Main.java:299) 在 com.sun.tools.javac.Main.compile(Main.java:82) 在 com.spartacusrex.spartacuside.external.javac.main(javac.java:13) $
奇怪的是 UnsatisfiedLinkError ,因为它没有说 VM 找不到 xyz.so 库或找不到 xyz 方法。logcat
我在设备上使用终端 IDE 的脚本后立即 尝试使用 命令javac
,我从那里发现的奇怪的事情是:
I/art (6558) :拒绝重新初始化先前失败的类 java.lang.Class<org.apache.harmony.security.fortress.Services>
我不明白为什么会这样,javac脚本使用android的 dalvikvm
命令来加载
com.spartacusrex.spartacuside.external.javac
班级。人们在 sdk 版本上遇到过这个 rejecting re-init
问题,20+
但我不清楚为什么会出现此信息消息以及如何解决它。