欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 幼教 > 车载开发之预置无源码apk到Android系统(带so文件)

车载开发之预置无源码apk到Android系统(带so文件)

2024/10/24 3:21:12 来源:https://blog.csdn.net/fengyeNom1/article/details/139522614  浏览:    关键词:车载开发之预置无源码apk到Android系统(带so文件)

1.在 packages/apps 下面以需要预置的 APK 名字创建文件夹,以预置一个名为 CarNavi 的APK为例。

新建一个CarNavi 的文件夹,在系统里面,如下图所示(我的系统路径:/home/ts/project/NewAosp/Android/packages/apps/Car/CarNavi)

2.将 CarNavi.apk 放到 CarNavi 文件夹里面

 

 3.创建文件 Android.mk 文件(直接新建一个txt文件夹,然后把名字修改成这个就行)

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
# Module name should match apk name to be installed
LOCAL_MODULE := CarNaviALL_LIBRARIES_MODULE_NAME := $(call get-all-libraries-module-name-in-subdirs, lib/x86_64)LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
LOCAL_CERTIFICATE := platform
LOCAL_MODULE_PATH := $(TARGET_OUT)/priv-app
LOCAL_PREBUILT_JNI_LIBS := $(ALL_LIBRARIES_MODULE_NAME)
include $(BUILD_PREBUILT)

注意【LOCAL_MODULE】对应的是apk的名字

【LOCAL_PREBUILT_JNI_LIBS】对应的就是so库的位置

下面注意了,带有so库的操作流程,如果apk里面没有so库的话,此处略过:

先把带有so库的apk,进行解压,把apk里面的lib拷贝出来放在跟apk同目录下,然后设置

ALL_LIBRARIES_MODULE_NAME := $(call get-all-libraries-module-name-in-subdirs, lib/x86_64)

因为我的so库位置在 lib/x86_64 ,如果你的位置不一样的话,替换成实际的就行

4. 修改车载系统的配置文件

位置 /home/ts/project/NewAosp/Android/packages/services/Car/car_product/build/car_system.mk

在文件里面找到 PRODUCT_PACKAGES 这个配置,进行添加

5.上面设置之后,进行系统重编,然后运行虚拟机,启动之后就可以了

【编译源码】
cd /home/ts/project/NewAosp/Android
source build/envsetup.sh
lunch sdk_car_x86_64-userdebug
make -j8
【启动模拟器】
cd /home/ts/project/NewAosp/Android
source build/envsetup.sh
lunch sdk_car_x86_64-userdebug
emulator -writable-system -netdelay none -netspeed full -no-snapshot-save -skin 2560x1600

运行之后,在这里就能看到,已经成功打到系统里面了 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com