zoukankan      html  css  js  c++  java
  • 在Android上运行Java和C程序

    在linux上运行java程序,直接用javac编译,再用java启动虚拟机运行就行了。但是在Android上,由于虚拟机和pc端的不同,所以操作方法也是不一样的。下面介绍Android上运行Hello world!

    一、单个java文件编译运行

    1.在Ubuntu虚拟机上将Hello.java编译成Hello.class文件

    2.在Ubuntu上的Android编译环境下生成Hello.jar文件

    # dx --dex --output=Hello.jar Hello.class

    注意这里的dx不是Ubuntu的dx命令行工具,它是编译Android时产生的
    # which dx
    /media/ubuntu/works/tiny4412/android-5.0.2/out/host/linux-x86/bin/dx

    3.将Hello.jar push到Android开发板上执行,有2种执行方法
    # dalvikvm -cp ./Hello.jar Hello
    Hello world!
    # CLASSPATH=./Hello.jar app_process ./ Hello
    Hello world!

    二、若是有多个java文件需要编译

    package a.b.c;
    
    public class World {
        public static void study(String args) {
            System.out.println(args);
        }
    }
    import a.b.c.World;
    
    public class Hello {
        public static void main(String[] args) {
            System.out.println("Hello world!");
            a.b.c.World.study("I love Android BSP");
            World.study("I love Android cpp");
        }
    }

    Ubuntu上:
    # javac -d . World.java
    # javac Hello.java
    # dx --dex --output=Hello_2.jar ./

    Android开发板上:
    # CLASSPATH=./Hello_2.jar app_process ./ Hello
    Hello world!
    I love Android BSP
    I love Android cpp

    # dalvikvm -cp ./Hello_2.jar Hello
    Hello world!
    I love Android BSP
    I love Android cpp

    三、运行C程序

    #include <stdio.h>
    
    void main()
    {
        printf("Hello world, I am C!
    ");
    }

    Ubuntu上:
    # arm-linux-gcc hello.c -static -o hello

    Android开发板:
    # ./hello
    Hello world, I am C!

    参考: https://www.cnblogs.com/ynxf/p/6923639.html

  • 相关阅读:
    HashMap的实现原理
    LinkedHashMap的实现讲解
    ConcurrentHashMap原理分析
    javax.mail Java Extension(扩展)
    Singleton 单例模式
    Java序列化与反序列化(实践)
    Java IO操作
    Java NIO与IO的区别和比较
    java模拟异步消息的发送与回调
    java如何实现多个线程并发运行
  • 原文地址:https://www.cnblogs.com/hellokitty2/p/10534554.html
Copyright © 2011-2022 走看看