2013-04-04 54 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是一个年轻的环境,这只是成长中的一个难题。