赞
踩
apk已有签名;安卓源码
1.在 packages/apps 下面以需要预置的 Launcher 名字创建文件夹,以预制一个名为LauncherS的APK为例 。
2.将 LauncherS.apk 放到 packages/apps/LauncherS下面。
3.将 LauncherS.apk解压缩,将解压出来的lib文件夹放到 packages/apps/LauncherS里面,lib文件夹里包含所有.so文件。若解压缩出来没有.so文件,跳过次此步。
4.在 packages/apps/LauncherS下面创建文件 Android.mk,文件内容如下 :
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
# Module name should match apk name to be installed
LOCAL_MODULE := LauncherS //模块名
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
LOCAL_PREBUILT_JNI_LIBS := \ //若apk解压出来没有.so文件,则去掉这句话
@lib/armeabi-v7a/libindoor.so \ //前面要用tab键隔开
@lib/armeabi-v7a/libindoor.so \ //若没有armeabi-v7a文件夹,则用armeabi文件夹,将里面的.so文件都添加引用
LOCAL_CERTIFICATE := PRESIGNED //表示已有系统签名
include $(BUILD_PREBUILT)
5.在系统预置app的配置文件中添加我们目录.
在我的源码中,Launcher的配置文件在bulid/target/product/core.mk中, 这个文件中又包含其他的配置文件,最终就是在配置文件中的 PRODUCT_PACKAGES 标志下添加你的test目录,如下所示:
PRODUCT_PACKAGES := \
BasicDreams \
......
Launcher2 \
......
MmsService \
LauncherS
6.重新编译源码,在out/target/product/${Project}/system/app中会生成LauncherS文件夹,里面有LauncherS.apk,就将此Launcher预制到系统当中。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。