MTK 平台Android6.0 系统集成第三方apk 的解决策略

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/liuhaomatou/article/details/54599650

比如我要集成的apk 的名字叫ATest.apk

1.在package/app/目录下面面加入一个文件夹文件夹名字:ATest(这里最好使用apk 一样的名字,方便以后更好的代码维护,如果使用其它随便命名的名字也是可以得。)


2.把ATest.apk 放入到ATest 文件夹下,并且自己定义一个mk 文件。


3.Android.mk 的配置如下所示:

====================Android.mk begin====================

#
# Copyright (C) 2008 Google Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#


LOCAL_PATH := $(call my-dir)


include $(CLEAR_VARS)
LOCAL_MODULE := IRblasterTest
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
LOCAL_CERTIFICATE := PRESIGNED
LOCAL_PRIVILEGED_MODULE := true
LOCAL_PREBUILT_JNI_LIBS:= \
@lib/arm64-v8a/libserial_port.so
include $(BUILD_PREBUILT)

====================Android.mk end====================

其中如果编译到ROM里面的apk 不能正常运行这里注意修改权限

LOCAL_CERTIFICATE := PRESIGNED 这个改为LOCAL_CERTIFICATE := platform

这个 LOCAL_PRIVILEGED_MODULE := true  指的就是内置到system/priv-app下面

LOCAL_PREBUILT_JNI_LIBS:= \
@lib/arm64-v8a/libsnappydb-native.so  这个就是抽出lib库


4.修改对应的mk 脚本编译

修改的脚本目录:device/company/project/full_project.mk


PRODUCT_PACKAGES += \
FactoryMode \
           XXXX1\
           XXXX2




---------------------------------------------------------------------------------------------


如果是v7a的lib库 就像这个一样加上LOCAL_MULTILIB :=32 告诉系统是32位的





猜你喜欢

转载自blog.csdn.net/liuhaomatou/article/details/54599650