2013-04-04 48 views
1

我只是在尋找一個ssh終端,當我偶然發現Terminal-IDE時,我並不需要紮根我的手機,而且我非常高興! (來自其創建者here的更多內容。)這是一個Android開發環境,旨在用於稱爲「Android手機」的便攜式計算機,它包括您可能稱之爲「可訪問的Linux操作系統,適用於無根電話」。Android Terminal-IDE:遠程登錄java(Dalvik)編譯錯誤的解決方案?

好的,現在你知道這個平臺是什麼了,問題是,當我啓動提供的sshd並使用ssh遠程登錄到手機時,我似乎無法獲得任何java(Dalvik)機器來工作,而在本地鍵入的相同動作工作正常。一個簡單的例子是的Hello World教程,其中你這樣運行Java編譯器:

​​

從本地接口的結果是亮閃閃發光的新hello.class。當從ssh登錄(運行bash)來完成,它會導致:

# javac hello.java 
Dalvik VM unable to locate class 'com/spartacusrex/spartacuside/external/javac' 
java.lang.NoClassDefFoundError: com/spartacusrex/spartacuside/external/javac 
     at dalvik.system.NativeStart.main(Native Method) 
Caused by: java.lang.ClassNotFoundException: com.spartacusrex.spartacuside.external.javac 
     at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:501) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:461) 
     ... 1 more 

當然,一個看起來環境變量...

以下是地方環境問題,要麼不在遠程環境或不同:

LOOP_MOUNTPOINT=/mnt/obb 
ASEC_MOUNTPOINT=/mnt/asec 
ANDROID_PROPERTY_WORKSPACE=9,131072 
ANDROID_SOCKET_zygote=10 
ANDROID_BOOTLOGO=1 
BOOTCLASSPATH=/data/data/com.spartacusrex.spartacuside/files/system/classes/android.jar:/system/framework/core.jar:/system/framework/core-junit.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/framework2.jar:/system/framework/android.policy.jar:/system/framework/services.jar:/system/framework/apache-xml.jar:/system/framework/HTCDev.jar:/system/framework/HTCExtension.jar:/system/framework/com.htc.framework.jar:/system/framework/filterfw.jar:/system/framework/com.htc.android.bluetooth.jar:/system/framework/wimax.jar:/system/framework/com.orange.authentication.simcard.jar 
PATH=/data/data/com.spartacusrex.spartacuside/files/bin:/data/data/com.spartacusrex.spartacuside/files/local/bin:/data/data/com.spartacusrex.spartacuside/files/android-gcc-4.4.0/bin:/data/data/com.spartacusrex.spartacuside/files/system/bin:/data/data/com.spartacusrex.spartacuside/files/system/bin/bbdir:/sbin:/vendor/bin:/system/sbin:/system/bin:/system/xbin 
PWD=/data/data/com.spartacusrex.spartacuside/files/system/src/helloworld 
EXTERNAL_STORAGE=/mnt/sdcard 

以下是在遠程環境中,但可能是沒有局部環境或不同:

ANDROID_PROPERTY_WORKSPACE=10,32768 
ANDROID_BOOTLOGO=1 
USER=username 
BOOTCLASSPATH=/data/data/com.spartacusrex.spartacuside/files/system/classes/android.jar:/system/framework/core.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/android.policy.jar:/system/framework/services.jar 
PATH=/data/data/com.spartacusrex.spartacuside/files/bin:/data/data/com.spartacusrex.spartacuside/files/local/bin:/data/data/com.spartacusrex.spartacuside/files/android-gcc-4.4.0/bin:/data/data/com.spartacusrex.spartacuside/files/system/bin:/data/data/com.spartacusrex.spartacuside/files/system/bin/bbdir:/sbin:/system/sbin:/system/bin:/system/xbin 
PS1=\[\033[01;32m\]$USER\[\e[1;31m\]\[\e[1;33m\]@\[\e[1;35m\]$HOSTNAME\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ 
MKSH=/system/bin/sh 
APK=/data/app/com.spartacusrex.spartacuside-1.apk 
LOGNAME=username 
EXTERNAL_STORAGE=/sdcard 

當然,我的注意力已經流向「BOOTCLASSPATH」。我以前從未聽說過BOOTCLASSPATH,但它似乎是我們java編碼員熟悉的簡單ole「CLASSPATH」的替代品...

建議的解決方案可以在code.google.com網站上找到在「問題」下,但他們都沒有工作。

回答

0

解決方法是簡單地改變BOOTCLASSPATH以在遠程登錄中包含與本地內容相同的內容。

當然,「開箱即用」,這不應該是一個遇到的問題。但是,Terminal-IDE是一個年輕的環境,這只是成長中的一個難題。