“预安装自定义APP”失败了
第一种:根据 aio-3399c 的 wiki,是在 vendor/firefly/apps/ 目录下创建文件夹,在该文件夹放入 .apk(就只有.apk),然后在该目录下编写 Android.mk 文件。 ==> 失败第二种:在 preinstall 或 preinstall_del 或 preinstall_del_forever 目录下放入 .apk 文件,但问题是,device/rockchip/rk3399/rk3399_firefly_aioc/ 目录下并没有对应的三个目录及其对应的.mk 文件。==> 失败
第三种:将 .apk 放在 adb 文件夹里,使用 adb install 安装。==> 成功
请问下,如果要使用 第一种 和 第二种方法,我是哪些步骤存在不足,或者是漏掉了哪些步骤?
PS:编译的话,由于是改动 Android 部分固件,所以就只编译了 Android 部分,编译命令如下:
source ./FFTools/build.sh
lunch rk3399_firefly_aioc-userdebug
make installclean
make -j4
./mkimage.sh
./FFTools/mkupdate/mkupdate.sh -l rk3399_firefly_aioc-userdebug {:4_89:}方法二以解决:在 device/rockchip/rk3399/rk3399_firefly_aioc/ 目录下创建 preinstall 或 preinstall_del 或 preinstall_del_forever 目录,然后放入 .apk 文件,再次编译就OK了。
但是 方法一 我是弄不明白。。。。 有在vendor/firefly/apps/apps.mk添加你要预安装自定义APP的文件夹吗 luwy 发表于 2021-5-20 14:58
有在vendor/firefly/apps/apps.mk添加你要预安装自定义APP的文件夹吗
有的,在 PRODUCT_PACKAGES 里面加,不过我的文件夹名全是小写的,而且在编译时也提示 include 进去了,但是编译后在该文件夹里面还是只有 .apk 文件和自己加的 Android.mk 文件, Android.mk 文件内容是我参考 wiki 的 看下out/target/product/rk3399_firefly_aioc/system/priv-app/或者out/target/product/rk3399_firefly_aioc/system/app/目录下是否有对应的app文件夹生成 luwy 发表于 2021-5-20 16:01
看下out/target/product/rk3399_firefly_aioc/system/priv-app/或者out/target/product/rk3399_firefly_aio ...
你好,我试过了,无论是 app/ 还是 priv-app/ 目录下,都没有对于的 app 文件夹生成
我这里是修改后,重新单独编译 Android 固件的,编译命令在上面
我的步骤是这样的:
(1)在网上下载一个谷歌拼音的apk
(2)在 vendor/firefly/apps/ 目录下创建 GoogleInput 目录
(3)修改 vendor/firefly/apps/ 目录下的 apps.mk 文件
PRODUCT_PACKAGES += \
FDeviceTest \
GoogleInput
(4)在 vendor/firefly/apps/GoogleInput/ 目录下放入 apk 文件,然后创建 Android.mk 文件,其内容如下:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := GoogleInput
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_TAGS := optional
LOCAL_BUILT_MODULE_STEM := package.apk
LOCAL_DEX_PREOPT := nostripping
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
COMMON_ANDROID_PACKAGE_SUFFIX :=.apk
LOCAL_PRIVILEGED_MODULE := true
LOCAL_CERTIFICATE := PRESIGNED
LOCAL_OVERRIDES_PACKAGES := GoogleInput
LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
JNI_LIBS :=
LOCAL_PREBUILT_JNI_LIBS := $(subst $(LOCAL_PATH),,$(JNI_LIBS))
include $(BUILD_PREBUILT)
请确认apk文件名与Android.mk中LOCAL_MODULE名是否一致,你还可以试试下面的Android.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := GoogleInput
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_TAGS := optional
LOCAL_BUILT_MODULE_STEM := package.apk
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
#LOCAL_PRIVILEGED_MODULE :=
LOCAL_CERTIFICATE := platform
#LOCAL_OVERRIDES_PACKAGES :=
LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
#LOCAL_REQUIRED_MODULES :=
#LOCAL_PREBUILT_JNI_LIBS :=
include $(BUILD_PREBUILT) luwy 发表于 2021-5-24 09:41
请确认apk文件名与Android.mk中LOCAL_MODULE名是否一致,你还可以试试下面的Android.mk
使用你提供的Android.mk,编译后就可以了,在out/target/product/rk3399_firefly_aioc/system/app/目录下看到了,谢谢哈~
页:
[1]