2

Lollipop 5.1.1 で Terminal IDE を使用しようとしています。Samsung E7 デバイスを使用して、ターミナル IDE の mod バージョンが XDA の誰かによって提供されています: 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) で
    $

VM が xyz.so ライブラリを見つけられない、または xyz メソッドを見つけられないというわけではないため、 UnsatisfiedLinkError があるのは奇妙です 。logcat デバイスでターミナル IDE のスクリプトを使用した直後にコマンドを使用し て javac みましたが、そこから見つけた奇妙な点は次のとおりです。

I/art (6558) : 以前に失敗したクラス java.lang.Class<org.apache.harmony.security.fortress.Services> の再初期化を拒否しています

なぜこれが起こったのか理解できませんでした.javacスクリプトはandroidの dalvikvm コマンドを使用してロードします

com.spartacusrex.spartacuside.external.javac

クラス。人々は rejecting re-init SDKバージョンでこの問題に直面し20+ていますが、この情報メッセージが発生する理由と解決方法は明確ではありません.

4

1 に答える 1

1

/system/lib/libjavacrypto.soターミナル IDE のフォルダーにコピーした~/system/libところ、javac および dx ツールが機能するようになりました。Google が /system/lib 内のものを台無しにして、エラーが発生したようです。他の誰かが役に立つと思うように答える。

于 2016-02-23T03:26:42.823 に答える