Skip to content

9300的4.1编译时提示pre_install_apk_pkgname.txt权限不够而中断 #1

@ymdzq

Description

@ymdzq

for apk in out/ZIP/data/media/preinstall_apps/_.apk; do
aapt d --values resources $apk | grep 'id=127 packageCount' | sed -e "s/^._name=//" >> /pre_install_apk_pkgname.txt;
done
/bin/bash: 行 1: /pre_install_apk_pkgname.txt: 权限不够
/bin/bash: 行 1: /pre_install_apk_pkgname.txt: 权限不够
/bin/bash: 行 1: /pre_install_apk_pkgname.txt: 权限不够
/bin/bash: 行 1: /pre_install_apk_pkgname.txt: 权限不够
/bin/bash: 行 1: /pre_install_apk_pkgname.txt: 权限不够
/bin/bash: 行 1: /pre_install_apk_pkgname.txt: 权限不够
/bin/bash: 行 1: /pre_install_apk_pkgname.txt: 权限不够
make: *** [local-pre-zip-misc] 错误 1

我是普通用户权限登录的系统,运行编译命令时没有用root权限,找了很久,发现了makefile里的第40行,这里不该是
pre_install_data_packages := $(OUT)/pre_install_apk_pkgname.txt
而应该改为
pre_install_data_packages := out/pre_install_apk_pkgname.txt

前面没有定义过变量“OUT”,所以编译到这里的时候pre_install_apk_pkgname.txt文件不会生成在机型目录里的out下面,而是生成在系统根目录/下面,那里当然普通用户权限不够,所以才会出现这个问题。
建议把 $(OUT)直接改成out,让pre_install_apk_pkgname.txt直接生成在机型目录里的out下面,避免以普通用户权限编译时出现权限不够的这个问题

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions