添加 Java 可执行程序
源码添加
在 device/xxx/xxx/ 目录下创建以下的目录和文件:
hellojava
├── Android.bp
└── com
└── android
└── main
└── HelloJava.java
其中 Android.bp 的内容如下:
java_library {
name: "hellojava",
installable: true,
product_specific: true,
srcs: ["**/*.java"],
sdk_version: "current"
}
这里着重解释一下 installable 这个选项,如果不指定 installable: true, 则编译出来的 jar 包里面是.class 文件。这种包是没法安装到系统上的,只能给其他 java 模块作为 static_libs 依赖。
指定 installable: true, 则编译出来的 jar 包里面是 classes.dex 文件。这种才是 Android 虚拟机可以加载的格式。
HelloJava.java 内容如下:
package com.android.main;
public class HelloJava
{
public static void main(String[] args)
{
System.out.println("Hello Java");
}
}
接着在 device/xxx/xxx/Rice14.mk 中添加:
PRODUCT_PACKAGES += \
hellojava
接下来编译系统:
配置installable=true的jar包生成在out/target/product/rk3568_t/product/framework/hellojava.jar 包结构如图所示
没有配置installable的jar生成在out/target/product/rk3568_t/obj/JAVA_LIBRARIES/hellojava_intermediates/javalib.jar 包结构如图所示