{"id":22685849,"url":"https://github.com/hellodword/android-rom","last_synced_at":"2025-08-15T20:38:02.582Z","repository":{"id":265801427,"uuid":"657847085","full_name":"hellodword/android-rom","owner":"hellodword","description":null,"archived":false,"fork":false,"pushed_at":"2023-09-22T11:37:28.000Z","size":66,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-03-24T05:37:02.926Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hellodword.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-06-24T02:22:15.000Z","updated_at":"2024-12-05T09:21:04.000Z","dependencies_parsed_at":"2024-12-03T09:22:36.396Z","dependency_job_id":null,"html_url":"https://github.com/hellodword/android-rom","commit_stats":null,"previous_names":["hellodword/android-rom"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hellodword%2Fandroid-rom","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hellodword%2Fandroid-rom/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hellodword%2Fandroid-rom/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hellodword%2Fandroid-rom/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hellodword","download_url":"https://codeload.github.com/hellodword/android-rom/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246201128,"owners_count":20739703,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-09T22:17:51.072Z","updated_at":"2025-03-29T15:20:57.283Z","avatar_url":"https://github.com/hellodword.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# android-rom\n\n## IDE\n\n- https://www.protechtraining.com/blog/post/aosp-sources-in-the-ide-860\n- https://github.com/amezin/aosp-vscode\n- https://connolly.tech/posts/2022_07_20-aosp-vscode/#aosp-and-vscode\n- https://groups.google.com/g/android-building/c/pC2DrNLz9C8\n- https://github.com/LineageOS/android_build_soong/blob/396c6159ef7912e1c72235d631291039a40e664f/docs/compdb.md\n- https://github.com/LineageOS/android_build_soong/blob/396c6159ef7912e1c72235d631291039a40e664f/docs/clion.md\n- https://wiki.lineageos.org/how-to/import-to-android-studio\n- https://shuhaowu.com/archive/2021/blog/setting_up_intellij_with_aosp_development.html\n- https://blog.udinic.com/2014/07/24/aosp-part-3-developing-efficiently/\n- https://github.com/Ahren-Li/android-cmake-project\n- https://ckcat.github.io/2019/11/13/%E4%BD%BF%E7%94%A8Clion%E8%B0%83%E8%AF%95Android-native%E6%BA%90%E7%A0%81/\n- https://github.com/nickdiego/compiledb/blob/b615d526019c7b809882090ea7eaff85423f2b13/examples/compiledb-aosp.sh\n- https://android.googlesource.com/platform/tools/asuite/+/refs/heads/master/aidegen/README.md\n\n### Android Studio\n\n```sh\n# 必须完整编译一次后\n\nmmm development/tools/idegen/\ndevelopment/tools/idegen/idegen.sh\n\n# 必须是导入 `android.ipr` 文件而不是 AOSP 目录\n```\n\n### VSCode\n\n```sh\n# env SOONG_GEN_COMPDB=1 SOONG_GEN_COMPDB_DEBUG=1 mka nothing\n\n# 完整编译一次后，进 devcontainer\n# 注意要在 docker exec 的 bash 中执行，VSCode Terminal 中会有奇怪的错误\n# docker exec -it -w /android-rom/src/LINEAGE_16_0/ \u003ccontainer name\u003e /bin/bash\nsource build/envsetup.sh \nlunch lineage_x86_64-eng\nmka sdk_addon\n```\n\n## build lineageos with docker\n\n\u003e for bullhead lineage-15.1, `--depth=1` reduces ~50GB (~130GB =\u003e ~80GB)\n\n### lineage-15.1 (8.1.0)\n\n```sh\nmkdir -p out/lineage-15.1\n\n# 同步和编译，禁用 microg 的 patch\ndocker run --rm \\\n    -e \"VERBOSE=true\" \\\n    -e \"REPO_INIT_ARGS=--depth=1\" \\\n    -e \"BRANCH_NAME=lineage-15.1\" \\\n    -e \"DEVICE_LIST=bullhead\" \\\n    -e \"SIGN_BUILDS=false\" \\\n    -e \"SIGNATURE_SPOOFING=no\" \\\n    -e \"WITH_GMS=false\" \\\n    -e \"CLEAN_AFTER_BUILD=false\" \\\n    -e \"USE_PYTHON2=true\" \\\n    -e \"USE_GCC9=true\" \\\n    -v \"$(pwd)/src:/android-rom/src\" \\\n    -v \"$(pwd)/out/lineage-15.1/zips:/android-rom/zips\" \\\n    -v \"$(pwd)/out/lineage-15.1/logs:/android-rom/logs\" \\\n    -v \"$(pwd)/out/lineage-15.1/cache:/android-rom/ccache\" \\\n    -v \"$(pwd)/out/lineage-15.1/keys:/android-rom/keys\" \\\n    -v \"$(pwd)/out/lineage-15.1/manifests:/android-rom/local_manifests\" \\\n    ghcr.io/hellodword/docker-lineage-cicd:dev2023\n\n# 修改代码后，不同步，只编译\ndocker run --rm \\\n    -e \"VERBOSE=true\" \\\n    -e \"REPO_SYNC=false\" \\\n    -e \"REPO_INIT=false\" \\\n    -e \"UPDATE_PROPRIETARY=false\" \\\n    -e \"ENABLE_GIT_RESET=false\" \\\n    -e \"ENABLE_GIT_CLEAN=false\" \\\n    -e \"BRANCH_NAME=lineage-15.1\" \\\n    -e \"DEVICE_LIST=bullhead\" \\\n    -e \"SIGN_BUILDS=false\" \\\n    -e \"SIGNATURE_SPOOFING=no\" \\\n    -e \"WITH_GMS=false\" \\\n    -e \"CLEAN_AFTER_BUILD=false\" \\\n    -e \"USE_PYTHON2=true\" \\\n    -e \"USE_GCC9=true\" \\\n    -v \"$(pwd)/src:/android-rom/src\" \\\n    -v \"$(pwd)/out/lineage-15.1/zips:/android-rom/zips\" \\\n    -v \"$(pwd)/out/lineage-15.1/logs:/android-rom/logs\" \\\n    -v \"$(pwd)/out/lineage-15.1/cache:/android-rom/ccache\" \\\n    -v \"$(pwd)/out/lineage-15.1/keys:/android-rom/keys\" \\\n    -v \"$(pwd)/out/lineage-15.1/manifests:/android-rom/local_manifests\" \\\n    ghcr.io/hellodword/docker-lineage-cicd:dev2023\n```\n\n### lineage-16.0 (9.0.0)\n\n```sh\nmkdir -p out/lineage-16.0\n\n# 同步和编译，禁用 microg 的 patch\ndocker run --rm \\\n    -e \"VERBOSE=true\" \\\n    -e \"REPO_INIT_ARGS=--depth=1\" \\\n    -e \"BRANCH_NAME=lineage-16.0\" \\\n    -e \"DEVICE_LIST=dipper\" \\\n    -e \"SIGN_BUILDS=false\" \\\n    -e \"SIGNATURE_SPOOFING=no\" \\\n    -e \"WITH_GMS=false\" \\\n    -e \"CLEAN_AFTER_BUILD=false\" \\\n    -e \"USE_PYTHON2=true\" \\\n    -e \"USE_GCC9=true\" \\\n    -v \"$(pwd)/src:/android-rom/src\" \\\n    -v \"$(pwd)/out/lineage-16.0/zips:/android-rom/zips\" \\\n    -v \"$(pwd)/out/lineage-16.0/logs:/android-rom/logs\" \\\n    -v \"$(pwd)/out/lineage-16.0/cache:/android-rom/ccache\" \\\n    -v \"$(pwd)/out/lineage-16.0/keys:/android-rom/keys\" \\\n    -v \"$(pwd)/out/lineage-16.0/manifests:/android-rom/local_manifests\" \\\n    ghcr.io/hellodword/docker-lineage-cicd:dev2023\n\n# 修改代码后，不同步，只编译\ndocker run --rm \\\n    -e \"VERBOSE=true\" \\\n    -e \"REPO_SYNC=false\" \\\n    -e \"REPO_INIT=false\" \\\n    -e \"UPDATE_PROPRIETARY=false\" \\\n    -e \"ENABLE_GIT_RESET=false\" \\\n    -e \"ENABLE_GIT_CLEAN=false\" \\\n    -e \"BRANCH_NAME=lineage-16.0\" \\\n    -e \"DEVICE_LIST=dipper\" \\\n    -e \"SIGN_BUILDS=false\" \\\n    -e \"SIGNATURE_SPOOFING=no\" \\\n    -e \"WITH_GMS=false\" \\\n    -e \"CLEAN_AFTER_BUILD=false\" \\\n    -e \"USE_PYTHON2=true\" \\\n    -e \"USE_GCC9=true\" \\\n    -v \"$(pwd)/src:/android-rom/src\" \\\n    -v \"$(pwd)/out/lineage-16.0/zips:/android-rom/zips\" \\\n    -v \"$(pwd)/out/lineage-16.0/logs:/android-rom/logs\" \\\n    -v \"$(pwd)/out/lineage-16.0/cache:/android-rom/ccache\" \\\n    -v \"$(pwd)/out/lineage-16.0/keys:/android-rom/keys\" \\\n    -v \"$(pwd)/out/lineage-16.0/manifests:/android-rom/local_manifests\" \\\n    ghcr.io/hellodword/docker-lineage-cicd:dev2023\n```\n\n### lineageos-17.1 (10)\n\n\n```sh\nmkdir -p out/lineage-17.1\n\n# 同步和编译，禁用 microg 的 patch\ndocker run --rm \\\n    -e \"VERBOSE=true\" \\\n    -e \"REPO_INIT_ARGS=--depth=1\" \\\n    -e \"BRANCH_NAME=lineage-17.1\" \\\n    -e \"DEVICE_LIST=dipper\" \\\n    -e \"SIGN_BUILDS=false\" \\\n    -e \"SIGNATURE_SPOOFING=no\" \\\n    -e \"WITH_GMS=false\" \\\n    -e \"CLEAN_AFTER_BUILD=false\" \\\n    -v \"$(pwd)/src:/android-rom/src\" \\\n    -v \"$(pwd)/out/lineage-17.1/zips:/android-rom/zips\" \\\n    -v \"$(pwd)/out/lineage-17.1/logs:/android-rom/logs\" \\\n    -v \"$(pwd)/out/lineage-17.1/cache:/android-rom/ccache\" \\\n    -v \"$(pwd)/out/lineage-17.1/keys:/android-rom/keys\" \\\n    -v \"$(pwd)/out/lineage-17.1/manifests:/android-rom/local_manifests\" \\\n    ghcr.io/hellodword/docker-lineage-cicd:dev2023\n\n# 修改代码后，不同步，只编译\ndocker run --rm \\\n    -e \"VERBOSE=true\" \\\n    -e \"REPO_SYNC=false\" \\\n    -e \"REPO_INIT=false\" \\\n    -e \"UPDATE_PROPRIETARY=false\" \\\n    -e \"ENABLE_GIT_RESET=false\" \\\n    -e \"ENABLE_GIT_CLEAN=false\" \\\n    -e \"BRANCH_NAME=lineage-17.1\" \\\n    -e \"DEVICE_LIST=dipper\" \\\n    -e \"SIGN_BUILDS=false\" \\\n    -e \"SIGNATURE_SPOOFING=no\" \\\n    -e \"WITH_GMS=false\" \\\n    -e \"CLEAN_AFTER_BUILD=false\" \\\n    -v \"$(pwd)/src:/android-rom/src\" \\\n    -v \"$(pwd)/out/lineage-17.1/zips:/android-rom/zips\" \\\n    -v \"$(pwd)/out/lineage-17.1/logs:/android-rom/logs\" \\\n    -v \"$(pwd)/out/lineage-17.1/cache:/android-rom/ccache\" \\\n    -v \"$(pwd)/out/lineage-17.1/keys:/android-rom/keys\" \\\n    -v \"$(pwd)/out/lineage-17.1/manifests:/android-rom/local_manifests\" \\\n    ghcr.io/hellodword/docker-lineage-cicd:dev2023\n```\n\n\n### lineageos-18.1 (11)\n### lineageos-19.1 (12.1)\n### lineageos-20.0 (13)\n\n### avd\n\n\n```sh\ndocker run --rm \\\n    -e \"VERBOSE=true\" \\\n    -e \"VERBOSE=true\" \\\n    -e \"REPO_SYNC=false\" \\\n    -e \"REPO_INIT=false\" \\\n    -e \"UPDATE_PROPRIETARY=false\" \\\n    -e \"ENABLE_GIT_RESET=false\" \\\n    -e \"ENABLE_GIT_CLEAN=false\" \\\n    -e \"BRANCH_NAME=lineage-16.0\" \\\n    -e \"DEVICE_LIST=generic_x86_64\" \\\n    -e \"AVD_TARGET=x86_64\" \\\n    -e \"SIGN_BUILDS=false\" \\\n    -e \"SIGNATURE_SPOOFING=no\" \\\n    -e \"WITH_GMS=false\" \\\n    -e \"CLEAN_AFTER_BUILD=false\" \\\n    -e \"USE_PYTHON2=true\" \\\n    -e \"USE_GCC9=true\" \\\n    -v \"$(pwd)/src:/android-rom/src\" \\\n    -v \"$(pwd)/out/lineage-16.0/zips:/android-rom/zips\" \\\n    -v \"$(pwd)/out/lineage-16.0/logs:/android-rom/logs\" \\\n    -v \"$(pwd)/out/lineage-16.0/cache:/android-rom/ccache\" \\\n    -v \"$(pwd)/out/lineage-16.0/keys:/android-rom/keys\" \\\n    -v \"$(pwd)/out/lineage-16.0/manifests:/android-rom/local_manifests\" \\\n    ghcr.io/hellodword/docker-lineage-cicd:dev2023\n```\n\n```sh\n# 先去 sdk manager 把对应的 api level 的镜像取消勾选，例如 android-28\nmkdir -p ~/Android/Sdk/system-images/android-28/google_apis/x86_64\n# 把 out/lineage-16.0/zips/generic_x86_64/sdk_addon/lineage-eng.root-linux-x86-img.zip 解压进去\n# 就可以在 AVD 里看到对应的镜像\n\n# # arm on x86_64\n# emulator -avd Pixel_6_Pro_API_27 -verbose -engine qemu2 -read-only -qemu -machine virt\n\n# # x86_64 on x86_64\n# emulator -avd Pixel_6_Pro_API_28 -verbose\n```\n\n```sh\n# https://github.com/google/android-emulator-container-scripts\nemu-docker list\n\nwget https://dl.google.com/android/repository/emulator-linux_x64-10086546.zip\n\nemu-docker -v create emulator-linux_x64-10086546.zip lineage-eng.root-linux-x86-img.zip --no-metrics\n\n# TODO\n#   adb\n#   adb root\ndocker run \\\n  --rm \\\n  -e ADBKEY=\"$(cat ~/.android/adbkey)\" \\\n  --device /dev/kvm \\\n  --publish 8554:8554/tcp \\\n  --publish 5555:5555/tcp  \\\n  -v /tmp/.X11-unix:/tmp/.X11-unix \\\n  -e DISPLAY=$DISPLAY \\\n  us-docker.pkg.dev/android-emulator-268719/images/28-lineage-x64-no-metrics\n```\n\n---\n\n## Youpk\n\n- https://github.com/Youlor/unpacker/tree/LineageOS-14.1\n- https://github.com/Humenger/Youpk8\n- https://github.com/dqzg12300/FartExt\n- https://github.com/CrackerCat/simpread/blob/main/md/%5B%E5%8E%9F%E5%88%9B%5DFartExt%20%E4%B9%8B%E4%BC%98%E5%8C%96%E6%9B%B4%E6%B7%B1%E4%B8%BB%E5%8A%A8%E8%B0%83%E7%94%A8%E7%9A%84%20FART10.md\n- https://github.com/shizenghua/Learn-and-Think-More/blob/master/Android%20Security/Android%E9%80%86%E5%90%91/%E8%84%B1%E5%A3%B3%E5%88%86%E6%9E%90/%E8%84%B1%E5%A3%B3%E6%9C%BA/%E7%90%86%E8%AE%BA/%E5%B0%86FART%E5%92%8CYoupk%E7%BB%93%E5%90%88%E6%9D%A5%E5%81%9A%E4%B8%80%E6%AC%A1%E9%92%88%E5%AF%B9%E5%87%BD%E6%95%B0%E6%8A%BD%E5%8F%96%E5%A3%B3%E7%9A%84%E5%85%A8%E9%9D%A2%E6%8F%90%E5%8D%87.md\n- https://chinggg.github.io/post/fart/#youpk-%E6%BA%90%E7%A0%81%E8%A7%A3%E8%AF%BB\n\n### randomize\n\n- [x] remove cjson\n- [x] non-root DumpDir: /data/local/tmp/ or CacheDir or specfic path\n- [ ] skip\n- [ ] hide symbols\n- [ ] log tag\n\n### [android-8.0.0_r21](./youpk/android-8.0.0_r21)\n\n```sh\n# generate android-8.0.0_r21 from https://github.com/Humenger/Youpk8\n# not verified\ngit clone --depth=1 -b android-8.0.0_r21 https://android.googlesource.com/platform/art android-8.0.0_r21/art\ngit clone --depth=1 -b android-8.0.0_r21 https://android.googlesource.com/platform/build android-8.0.0_r21/build\ngit clone --depth=1 -b android-8.0.0_r21 https://android.googlesource.com/platform/frameworks/base android-8.0.0_r21/frameworks/base\ngit clone --depth=1 -b android-8.0.0_r21 https://android.googlesource.com/platform/frameworks/native android-8.0.0_r21/frameworks/native\n\ngit clone --depth=1 https://github.com/Humenger/Youpk8\nrsync -a Youpk8/android-8.0.0_r21/art/ android-8.0.0_r21/art\nmv Youpk8/android-8.0.0_r21/build/make/core/tasks/check_boot_jars/package_whitelist.txt android-8.0.0_r21/build/core/tasks/check_boot_jars/package_whitelist.txt\nrsync -a Youpk8/android-8.0.0_r21/frameworks/base/ android-8.0.0_r21/frameworks/base\nrsync -a Youpk8/android-8.0.0_r21/frameworks/native/ android-8.0.0_r21/frameworks/native\n\nmkdir -p youpk/android-8.0.0_r21\nfind android-8.0.0_r21 -name .git | xargs -L 1 dirname | xargs -I '{}' bash -c 'git -C \"{}\" config user.email \"example@android.com\" \u0026\u0026 git -C \"{}\" config user.name android \u0026\u0026 git -C \"{}\" add . \u0026\u0026 git -C \"{}\" commit -m diff \u0026\u0026 git -C \"{}\" diff HEAD~1 \u003e youpk/android-8.0.0_r21/$(basename \"{}\").patch'\n```\n\n### [lineageos-15.1 (8.1.0)](./youpk/lineageos-15.1)\n\n\u003e verified\n\n```sh\n# 假设已经正常编译过一次，在 out/lineage-15.1\n\nchmod +x \"$(pwd)/userscripts/lineageos-15.1/before.sh\" \u0026\u0026 \\\nchmod +x \"$(pwd)/youpk/lineageos-15.1/build.patch.sh\" \u0026\u0026 \\\ndocker run --rm \\\n    -e \"UNPACK_RAND=false\" \\\n    -e \"UNPACK_CONFIG_FILE=miui.config\" \\\n    -e \"UNPACK_LOG_TAG=woowoo\" \\\n    -e \"UNPACK_OUTPUT_DIR=oowoow\" \\\n    -e \"UNPACK_JAVA_CLASS=com.android.miui.pushd.Pusher\" \\\n    -e \"UNPACK_UNPACKER_LOWER=milink\" \\\n    -e \"UNPACK_UNPACKER_UPPER=Milink\" \\\n    -e \"UNPACK_UNPACK_NATIVE=jump\" \\\n    -e \"UNPACK_UNPACK=printk\" \\\n    -e \"UNPACK_CJSON=mipush\" \\\n    -e \"UNPACK_isFakeInvoke=a\" \\\n    -e \"UNPACK_afterInstructionExecute=b\" \\\n    -e \"UNPACK_beforeInstructionExecute=c\" \\\n    -e \"VERBOSE=true\" \\\n    -e \"REPO_SYNC=false\" \\\n    -e \"REPO_INIT=false\" \\\n    -e \"UPDATE_PROPRIETARY=false\" \\\n    -e \"ENABLE_GIT_RESET=false\" \\\n    -e \"ENABLE_GIT_CLEAN=false\" \\\n    -e \"BRANCH_NAME=lineage-15.1\" \\\n    -e \"DEVICE_LIST=bullhead\" \\\n    -e \"SIGN_BUILDS=false\" \\\n    -e \"BUILD_TYPE=eng\" \\\n    -e \"SIGNATURE_SPOOFING=no\" \\\n    -e \"WITH_GMS=false\" \\\n    -e \"USE_PYTHON2=true\" \\\n    -e \"USE_GCC9=true\" \\\n    -e \"USERSCRIPTS_FAIL=true\" \\\n    -v \"$(pwd)/userscripts/lineageos-15.1:/home/ubuntu/userscripts:ro\" \\\n    -v \"$(pwd)/youpk/lineageos-15.1:/home/ubuntu/patch:ro\" \\\n    -v \"$(pwd)/src:/android-rom/src\" \\\n    -v \"$(pwd)/out/lineage-15.1/zips:/android-rom/zips\" \\\n    -v \"$(pwd)/out/lineage-15.1/logs:/android-rom/logs\" \\\n    -v \"$(pwd)/out/lineage-15.1/cache:/android-rom/ccache\" \\\n    -v \"$(pwd)/out/lineage-15.1/keys:/android-rom/keys\" \\\n    -v \"$(pwd)/out/lineage-15.1/manifests:/android-rom/local_manifests\" \\\n    ghcr.io/hellodword/docker-lineage-cicd:dev2023-non-root\n```\n\n\n### [lineageos-16.0 (9)](./youpk/lineageos-16.0)\n\n\n```sh\n# 假设已经正常编译过一次，在 out/lineage-16.0\n\nchmod +x \"$(pwd)/userscripts/lineageos-16.0/before.sh\" \u0026\u0026 \\\nchmod +x \"$(pwd)/youpk/lineageos-16.0/build.patch.sh\" \u0026\u0026 \\\ndocker run --rm \\\n    -e \"UNPACK_RAND=false\" \\\n    -e \"UNPACK_CONFIG_FILE=miui.config\" \\\n    -e \"UNPACK_LOG_TAG=woowoo\" \\\n    -e \"UNPACK_OUTPUT_DIR=oowoow\" \\\n    -e \"UNPACK_JAVA_CLASS=com.android.miui.pushd.Pusher\" \\\n    -e \"UNPACK_UNPACKER_LOWER=milink\" \\\n    -e \"UNPACK_UNPACKER_UPPER=Milink\" \\\n    -e \"UNPACK_UNPACK_NATIVE=jump\" \\\n    -e \"UNPACK_UNPACK=printk\" \\\n    -e \"UNPACK_CJSON=mipush\" \\\n    -e \"UNPACK_isFakeInvoke=a\" \\\n    -e \"UNPACK_afterInstructionExecute=b\" \\\n    -e \"UNPACK_beforeInstructionExecute=c\" \\\n    -e \"VERBOSE=true\" \\\n    -e \"REPO_SYNC=false\" \\\n    -e \"REPO_INIT=false\" \\\n    -e \"UPDATE_PROPRIETARY=false\" \\\n    -e \"ENABLE_GIT_RESET=false\" \\\n    -e \"ENABLE_GIT_CLEAN=false\" \\\n    -e \"BRANCH_NAME=lineage-16.0\" \\\n    -e \"DEVICE_LIST=generic_x86_64\" \\\n    -e \"AVD_TARGET=x86_64\" \\\n    -e \"BUILD_TYPE=eng\" \\\n    -e \"SIGN_BUILDS=false\" \\\n    -e \"SIGNATURE_SPOOFING=no\" \\\n    -e \"WITH_GMS=false\" \\\n    -e \"USE_PYTHON2=true\" \\\n    -e \"USE_GCC9=true\" \\\n    -e \"USERSCRIPTS_FAIL=true\" \\\n    -v \"$(pwd)/userscripts/lineageos-16.0:/home/ubuntu/userscripts:ro\" \\\n    -v \"$(pwd)/youpk/lineageos-16.0:/home/ubuntu/patch:ro\" \\\n    -v \"$(pwd)/src:/android-rom/src\" \\\n    -v \"$(pwd)/out/lineage-16.0/zips:/android-rom/zips\" \\\n    -v \"$(pwd)/out/lineage-16.0/logs:/android-rom/logs\" \\\n    -v \"$(pwd)/out/lineage-16.0/cache:/android-rom/ccache\" \\\n    -v \"$(pwd)/out/lineage-16.0/keys:/android-rom/keys\" \\\n    -v \"$(pwd)/out/lineage-16.0/manifests:/android-rom/local_manifests\" \\\n    ghcr.io/hellodword/docker-lineage-cicd:dev2023-non-root\n```\n\n\n### lineageos-16.0 (9.0.0)\n### lineageos-17.1 (10)\n### lineageos-18.1 (11)\n### lineageos-19.1 (12.1)\n### lineageos-20.0 (13)\n\n\n---\n\n## reproducible\n\n- https://www.reddit.com/r/LineageOS/comments/9bqlze/why_make_lineageos_builds_with_zero_changes/\n\n---\n\n- https://wiki.lineageos.org/emulator\n- https://github.com/lineageos4microg/docker-lineage-cicd\n- https://web.archive.org/web/20220813213500/http://www.trcompu.com/MySmartPhone/AndroidKitchen/Breakfast-Brunch-Lunch.html\n- https://sourcegraph.com/github.com/LineageOS/android_art@lineage-15.1\n- https://evilpan.com/2021/12/26/art-internal/\n- https://github.com/BeesX/BeesAndroid\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhellodword%2Fandroid-rom","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhellodword%2Fandroid-rom","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhellodword%2Fandroid-rom/lists"}