Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何编译我自己的’;***。所以‘;和';***。jar';在ASOP中?那么,让它成为android系统api?_Java_Android - Fatal编程技术网

Java 如何编译我自己的’;***。所以‘;和';***。jar';在ASOP中?那么,让它成为android系统api?

Java 如何编译我自己的’;***。所以‘;和';***。jar';在ASOP中?那么,让它成为android系统api?,java,android,Java,Android,我有一些“.so”和“.jar”文件,我想让它成为android系统api。但我不知道如何将它添加到AOSP中,让它成为android系统api?这很复杂 首先,您应该在framework/base/service中实现一个新的系统服务来调用jar中的方法。然后在framework/base/service中修改Android.mk,以确保将jar编译到构建中 然后,通过将服务注册到Linux SE系统,确保允许您的服务访问资源 然后在framework/base/core中实现一个manage

我有一些“.so”和“.jar”文件,我想让它成为android系统api。但我不知道如何将它添加到AOSP中,让它成为android系统api?

这很复杂

首先,您应该在framework/base/service中实现一个新的系统服务来调用jar中的方法。然后在framework/base/service中修改Android.mk,以确保将jar编译到构建中

然后,通过将服务注册到Linux SE系统,确保允许您的服务访问资源

然后在framework/base/core中实现一个manager类和一个AIDL,以确保您的manager服务能够与您的服务通信。在framework/base/core/Android.mk中注册您的AIDL

最后,由于您更改了默认的系统API,因此应该使用命令
makeupdateAPI
来更新您的API


这只是一个简单的介绍,每一步都有陷阱。做你想做的事需要完全了解AOSP构建系统和AOSP框架,如果你是AOSP的初学者,在采取行动之前有很多东西需要学习。

你的问题太模糊了。您所说的“android系统api”是指SDK中常用的api吗?@reavenisadesk.Yes。我的意思是我想定制AOSP,我已经成功编译了android 5.0。然后我有第三个
***.so
***.jar
文件,我想在AOSP中编译它们,这样所有的应用程序都可以使用它们。我对此感到困惑。有人说我们可以把jar文件放在框架中,然后像这样编写一个Android.mk:LOCAL\u PATH:=$(call my dir)include$(CLEAR\u VARS)LOCAL\u MODULE:=hello jni LOCAL\u SRC\u FILES:=hello jni.c include$(BUILD\u SHARED\u LIBRARY)对不起。我所说的是错误的,这是将库添加到构建中的方法,它既不是系统API,也不会被任何人使用。