2010年10月7日木曜日

技术分享 把JVM移植到ARM环境中

    技术分享 把JVM移植到ARM环境中

  • http://developer.51cto.com  2010-09-27 16:26  wylhistory  hi.baidu.com  我要评论(0)

  • 对JVM移植到arm环境问题一直很困惑,终于功夫不负有心人,一个偶然的机会发现了把JVM移植到arm环境中方法,这里和大家分享一下,希望对你的学习有所帮助。



    本文向大家简单介绍一下如何把JVM移植到arm环境中,主要有其个小步骤,相信通过本文的介绍你对JVM移植的问题的解决方法有深刻的认识。

    如何把JVM移植到arm环境中

    环境:

    OS:ubuntu,scratchbox->arm

    我实际移植JVM的步骤:

    1,提供linux里面libX打头的那些库,它会提示你在configure的过程中,你根据需要下载并安装,有时候只需要做个连接,因为它需要的是.so,而不是.so.X.X等等,比如ln-slibXtst.so.6.1.0libXtst.so

    2,下载jamvm-1.5.1.tar.gz从http://sourceforge.net/project/showfiles.php?group_id=75148/&abmode=1./configure
    make
    fakerootmakeinstall

    3,安装jikes。 



    1.      dpkg-buildpackage-fakeroot-uc-b  
    2.      dpkg-i../jikes_XXX.deb 

    4,下载classpath-0.92.tar.gz从ftp://ftp.gnu.org/gnu/classpath/./configure--with-jikes--enable-jni
    make
    fakerootmakeinstall
    当然如果要保证编译通过的话,你们必须提供jikes工具和mozilla的相关的头文件,也可以通过./configure--with-jikes--enable-jni--disable-plugin来跳过plugin的编译,如果你们不提供web页的插件的话;实际上在第一步环境配置的时候我们提供的环境里面已经有这些相关的类库了,所以如果只是为了开发应用程序的话是,是不需要再编译的这个包的

    5,编译的时候记得看readme和install;

    6,exportjamvm环境到PATH中;

    exportPATH=/usr/local/jamvm/bin:$PATH,这时候可以通过jamvm-version来看版本信息了;

    7,classpath里面有许多的examples,比如可以通过jamvmgnu.classpath.examples.swing.Demo来执行示例代码;

    一切ok了,绝大部分的java程序是可以跑的了。

    后记:

    我后来重新做了一遍,发现放在我们的板子上经常会出现这样的一个问题: 



    1.      "Cannot create system classloader  
    2.      Exception occurred while printing exception
    3.      (java/lang/NoClassDefFoundError)...  
    4.      Original exception was java/lang/UnsatisfiedLinkError" 

    我把/usr/local/classpath/share/classpath/glibj.zip展开后,重新copy到我的板子的/mnt/tflash上,然后 



    1.      cd /usr/local  
    2.      ln -s /mnt/tflash/classpath classpath  
    3.      jamvm HelloWorld 

    输出 



    1.      HelloWolrd!  
    2.       

    程序正常运行,说明JVM移植成功。


0 件のコメント:

コメントを投稿