16 Commits

Author SHA1 Message Date
oxmc 1710a73d15 privapp-permissions: add MANAGE_USERS, ACCESS_HIDDEN_PROFILES_FULL, INTERACT_ACROSS_USERS, FORCE_STOP_PACKAGES 2026-06-05 14:00:39 -07:00
oxmc 9e3899871a Maybe? 2025-09-12 00:01:03 -07:00
oxmc 999888813c Update README.md 2025-09-11 03:02:59 -07:00
oxmc d370f4e72a Update priv-app/Lawnchair/Android.bp 2025-09-10 22:38:41 -07:00
oxmc b48189a6d0 Delete product/overlay/QuickstepSwitcherOverlay/Android.mk 2025-09-10 22:34:35 -07:00
oxmc 94b656aade Delete priv-app/Lawnchair/Android.mk 2025-09-10 22:34:27 -07:00
oxmc be7f1564e8 Delete lawnchair.mk 2025-09-10 22:34:19 -07:00
oxmc 2db328b780 Update etc/Android.bp 2025-09-10 22:30:05 -07:00
oxmc 21671b8603 Add etc/Android.bp 2025-09-10 22:23:11 -07:00
oxmc ed86de2aff Update product/overlay/QuickstepSwitcherOverlay/Android.bp 2025-09-10 22:14:33 -07:00
oxmc f935750aa8 Add priv-app/Lawnchair/Android.bp 2025-09-10 22:13:59 -07:00
oxmc 5187c23906 Add product/overlay/QuickstepSwitcherOverlay/Android.bp 2025-09-10 22:07:36 -07:00
oxmc 3ce8e50b0f Update lawnchair.mk 2025-09-07 23:11:12 -07:00
oxmc 6187d3c029 Fix paths 2025-09-03 11:34:43 -07:00
oxmc 034be80e38 Update README.md 2025-08-19 22:38:08 -07:00
oxmc cd1394c0e1 Delete priv-app/Lawnchair/lib/arm64/libnrb.so 2025-08-19 19:16:39 -07:00
3 changed files with 1 additions and 79 deletions
-57
View File
@@ -1,57 +0,0 @@
#!/usr/bin/env bash
# Build a Lawnchair APK from source and place it here as a prebuilt.
#
# Usage:
# ./build_prebuilt.sh [path/to/apps_lawnchair]
#
# If no path is given, looks for apps_lawnchair as a sibling directory.
# After running this, the APK still needs to be platform-signed before it
# works as a privileged system app in a ROM build:
#
# apksigner sign \
# --key $ANDROID_BUILD_TOP/build/target/product/security/platform.pk8 \
# --cert $ANDROID_BUILD_TOP/build/target/product/security/platform.x509.pem \
# priv-app/Lawnchair/Lawnchair.apk
#
# If you're only testing on a rooted device you can push the unsigned APK
# directly and use pm to set it as the default launcher.
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
SRC_DIR="${1:-$(dirname "$SCRIPT_DIR")/Lawnchair}"
if [[ ! -f "$SRC_DIR/gradlew" ]]; then
echo "ERROR: Lawnchair source not found at: $SRC_DIR"
echo "Pass the path as the first argument: $0 /path/to/apps_lawnchair"
exit 1
fi
echo "==> Building Lawnchair from $SRC_DIR"
cd "$SRC_DIR"
./gradlew assembleLawnchairRelease --stacktrace
APK=$(find . -name "*.apk" -path "*/lawnchair/release/*" | grep -v unsigned | head -1)
if [[ -z "$APK" ]]; then
# Fallback: any release APK
APK=$(find . -name "*.apk" -path "*/release/*" | head -1)
fi
if [[ -z "$APK" ]]; then
echo "ERROR: No release APK found after Gradle build."
exit 1
fi
DEST="$SCRIPT_DIR/priv-app/Lawnchair/Lawnchair.apk"
cp "$APK" "$DEST"
echo ""
echo "==> APK copied to: $DEST"
echo ""
echo "Next steps for AOSP ROM integration:"
echo " 1. Sign with the platform key (see header comment in this script)"
echo " 2. Commit the signed APK: git -C '$SCRIPT_DIR' add priv-app/Lawnchair/Lawnchair.apk && git commit"
echo " 3. Switch the manifest to prebuilt mode (see android_local_manifest/pawletos.xml)"
echo ""
echo "For direct device testing (root required):"
echo " adb push $DEST /system/priv-app/Lawnchair/Lawnchair.apk"
echo " adb shell am force-stop app.lawnchair"
echo " adb reboot"
+1 -22
View File
@@ -16,25 +16,4 @@ android_app_import {
"androidx.window.extensions",
"androidx.window.sidecar",
],
}
// Include this alongside Lawnchair to also replace the QuickStep/recents
// launcher (Launcher3QuickStep). Both modules reference the same APK;
// the package manager deduplicates at install time.
android_app_import {
name: "LawnchairQuickStep",
apk: "Lawnchair.apk",
privileged: true,
certificate: "platform",
overrides: [
"Launcher3QuickStep",
],
required: [
"privapp-permissions-app.lawnchair.xml",
"app.lawnchair-hiddenapi-package-whitelist.xml",
],
optional_uses_libs: [
"androidx.window.extensions",
"androidx.window.sidecar",
],
}
}
Binary file not shown.