通过shell命令执行java程序

代码结构

以下是编译时代码的目录结构的截图
代码目录详细结构

java程序

以下是编写一个java程序,命令为Test.java,在主函数中输出输入的参数,以及打印简单的log

package com.example.test;

import android.util.Log;

public class Test {

    private static final String TAG = "Test";

    public static void main(String[] args) {
        for (String arg : args) {
            Log.d(TAG, "arg = " + arg);
        }

        Log.d(TAG, "execute test main method");
    }
}

命令

编写一个shell脚本命令语句,命名为clienttest

base=/system
export CLASSPATH=$base/framework/test.jar
exec app_process $base/bin com.example.test.Test "$@"

编译文件

编写一个Android.mk的文件

LOCAL_PATH:= $(call my-dir)

include $(CLEAR_VARS)
LOCAL_SRC_FILES := \
    $(call all-java-files-under, src)
LOCAL_MODULE := test
LOCAL_PROTOC_OPTIMIZE_TYPE := stream
include $(BUILD_JAVA_LIBRARY)

include $(CLEAR_VARS)
LOCAL_MODULE := test
LOCAL_SRC_FILES := clienttest
LOCAL_MODULE_CLASS := EXECUTABLES
LOCAL_MODULE_TAGS := optional
include $(BUILD_PREBUILT)

当执行完编译后会生成test.jar文件,可执行的bin文件test,其中要将test.jar文件push到/system/framework下,test可执行文件push到/system/bin,然后运行./test

输出打印

执行./test

04-23 09:37:25.134  4584  4584 D Test    : execute test main method

执行./test param1 --status2

04-23 09:37:55.337  4603  4603 D Test    : arg = param1
04-23 09:37:55.337  4603  4603 D Test    : arg = --status2
04-23 09:37:55.337  4603  4603 D Test    : execute test main method
  • 7
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值