Android 生成jar installable 控制生成的是dex还是class

简介: 五月打卡第30天

添加 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 包结构如图所示
image.png

没有配置installable的jar生成在out/target/product/rk3568_t/obj/JAVA_LIBRARIES/hellojava_intermediates/javalib.jar 包结构如图所示
image.png

目录
相关文章
|
2月前
|
编解码 Java Android开发
安卓虚拟摄像头免root版,虚拟摄像头替换真实摄像头,jar代码开源分享
通过动态替换摄像头输入流的方式实现虚拟摄像头功能,代码经过简化展示核心逻辑。实际开发中还需要考虑视频编解码优化
|
2月前
|
Java Android开发
安卓虚拟摄像头过人脸,免root虚拟hook相机,虚拟相机hook版【jar】
两种Hook Android相机的方法:Xposed模块和Frida脚本。Xposed模块需要安装在已root的设备
|
3月前
|
编解码 自然语言处理 Java
安卓改机工具免root,一键过设备检测,串号SN码【jar即可实现】
本项目通过Hook系统API实现设备信息的拦截与修改,主要功能包括动态更改IMEI/SN等设备标识。核心技术基于Xposed框架(免Root可用VirtualXposed)
|
JavaScript 前端开发 Java
[Android][Framework]系统jar包,sdk的制作及引用
[Android][Framework]系统jar包,sdk的制作及引用
382 0
|
API 开发工具 Android开发
Android Studio:解决AOSP自编译framework.jar引用不到的问题
在Android Studio中解决AOSP自编译framework.jar引用问题的几种方法,包括使用相对路径、绝对路径和通过`${project.rootDir}`动态获取路径的方法,以避免硬编码路径带来的配置问题。
1240 0
Android Studio:解决AOSP自编译framework.jar引用不到的问题
|
前端开发 Java 编译器
classpath中存在多个jar存在同限定名的class classloader会如何加载
总之,合理组织类路径和使用现代化的构建工具,可有效避免类加载冲突,保证应用的稳定运行。
364 8
|
Android开发
解決Android报错:Could not initialize class org.codehaus.groovy.reflection.ReflectionCache
解決Android报错:Could not initialize class org.codehaus.groovy.reflection.ReflectionCache
399 1
|
Java Android开发
Android编译的jar里面是dex
Android编译的jar里面是dex
187 0
|
9天前
|
开发工具 Android开发
X Android SDK file not found: adb.安卓开发常见问题-Android SDK 缺少 `adb`(Android Debug Bridge)-优雅草卓伊凡
X Android SDK file not found: adb.安卓开发常见问题-Android SDK 缺少 `adb`(Android Debug Bridge)-优雅草卓伊凡
150 11
X Android SDK file not found: adb.安卓开发常见问题-Android SDK 缺少 `adb`(Android Debug Bridge)-优雅草卓伊凡

热门文章

最新文章