|
#!/bin/bash |
|
|
|
source build/envsetup.sh |
|
|
|
set -e |
|
|
|
SOURCE_DIR=~/android/system |
|
INSTALLDIR=~/onyx_sfdroid |
|
|
|
DEVICE=onyx |
|
|
|
sudo mkdir -p $INSTALLDIR/root |
|
|
|
SFDROID_PATH=/usr/libexec/sfdroid |
|
|
|
HW_PATH=$SFDROID_PATH/system/lib/hw |
|
BIN_PATH=$SFDROID_PATH/system/bin |
|
LIB_PATH=$SFDROID_PATH/system/lib |
|
FRAMEWORK_PATH=$SFDROID_PATH/system/framework |
|
PRIV_PATH=$SFDROID_PATH/system/priv-app |
|
|
|
sudo mkdir -p $INSTALLDIR/root/$LIB_PATH |
|
sudo mkdir -p $INSTALLDIR/root/$HW_PATH |
|
sudo mkdir -p $INSTALLDIR/root/$BIN_PATH |
|
sudo mkdir -p $INSTALLDIR/root/$FRAMEWORK_PATH |
|
sudo mkdir -p $INSTALLDIR/root/$PRIV_PATH/Settings |
|
sudo mkdir -p $INSTALLDIR/root/$PRIV_PATH/SystemUI |
|
|
|
sudo chown root:root -R $INSTALLDIR/root |
|
|
|
lunch cm_$DEVICE-eng |
|
|
|
echo ==== building libhardware ==== |
|
cd hardware/libhardware |
|
mm |
|
cd $SOURCE_DIR |
|
sudo cp out/target/product/$DEVICE/system/lib/libhardware.so $INSTALLDIR/root/$LIB_PATH |
|
sudo chown root:root $INSTALLDIR/root/$LIB_PATH/libhardware.so |
|
|
|
## netd |
|
echo ==== building netd ==== |
|
cd system/netd/server |
|
mm |
|
cd $SOURCE_DIR |
|
sudo cp out/target/product/$DEVICE/system/bin/netd $INSTALLDIR/root/$BIN_PATH |
|
sudo chown root:root $INSTALLDIR/root/$BIN_PATH/netd |
|
|
|
# surfaceflinger |
|
echo ==== building surfaceflinger ==== |
|
cd frameworks/native/services/surfaceflinger |
|
mm |
|
cd $SOURCE_DIR |
|
sudo cp out/target/product/$DEVICE/system/lib/libsurfaceflinger.so $INSTALLDIR/root/$LIB_PATH |
|
sudo chown root:root $INSTALLDIR/root/$LIB_PATH/libsurfaceflinger.so |
|
|
|
# sensorservice (sfdroid sensors) |
|
echo ==== building sensorservice ==== |
|
cd frameworks/native/services/sensorservice |
|
mm |
|
cd $SOURCE_DIR |
|
sudo cp out/target/product/$DEVICE/system/lib/libsensorservice.so $INSTALLDIR/root/$LIB_PATH |
|
sudo chown root:root $INSTALLDIR/root/$LIB_PATH/libsensorservice.so |
|
|
|
echo ==== building sfdroid sensors ==== |
|
cd hardware/libhardware/modules/sfdroid_sensors |
|
mm |
|
cd $SOURCE_DIR |
|
sudo cp out/target/product/$DEVICE/system/lib/hw/sfdroid_sensors.default.so $INSTALLDIR/root/$HW_PATH |
|
sudo chown root:root $INSTALLDIR/root/$HW_PATH/sfdroid_sensors.default.so |
|
|
|
# libinputflinger |
|
echo ==== building libinputflinger ==== |
|
cd frameworks/native/services/inputflinger |
|
mm |
|
cd $SOURCE_DIR |
|
sudo cp out/target/product/$DEVICE/system/lib/libinputflinger.so $INSTALLDIR/root/$LIB_PATH |
|
sudo chown root:root $INSTALLDIR/root/$LIB_PATH/libinputflinger.so |
|
|
|
echo ==== building mediaserver ==== |
|
cd frameworks/av/media/mediaserver |
|
mm |
|
cd $SOURCE_DIR |
|
sudo cp out/target/product/$DEVICE/system/bin/mediaserver $INSTALLDIR/root/$BIN_PATH |
|
sudo chown root:root $INSTALLDIR/root/$BIN_PATH/mediaserver |
|
|
|
# sharebuffer |
|
echo ==== building sharebuffer ==== |
|
cd hardware/libhardware/modules/sharebuffer |
|
mm |
|
cd $SOURCE_DIR |
|
sudo cp out/target/product/$DEVICE/system/lib/hw/sharebuffer.default.so $INSTALLDIR/root/$HW_PATH |
|
|
|
echo ==== building frameworks base core res ==== |
|
cd frameworks/base/core/res |
|
mm |
|
cd $SOURCE_DIR |
|
|
|
# framework: Network State Trackers |
|
# frameworks/base/wifi/java/android/net/wifi |
|
echo ==== building frameworks base core java android net ==== |
|
cd frameworks/base/core/java/android/net |
|
mm |
|
cd $SOURCE_DIR |
|
sudo cp out/target/product/$DEVICE/system/framework/framework.jar $INSTALLDIR/root/usr/libexec/sfdroid/system/framework |
|
sudo chown root:root $INSTALLDIR/root/usr/libexec/sfdroid/system/framework/framework.jar |
|
sudo cp out/target/product/$DEVICE/system/framework/ext.jar $INSTALLDIR/root/usr/libexec/sfdroid/system/framework |
|
sudo chown root:root $INSTALLDIR/root/usr/libexec/sfdroid/system/framework/ext.jar |
|
sudo chmod +r $INSTALLDIR/root/usr/libexec/sfdroid/system/framework/ext.jar |
|
|
|
# services.jar: AlarmManagerService, ConnectivityService, droidmedia AppOps |
|
echo ==== building frameworks base services java com android server ==== |
|
cd frameworks/base/services/java/com/android/server |
|
mm |
|
cd $SOURCE_DIR |
|
sudo cp out/target/product/$DEVICE/system/framework/services.jar $INSTALLDIR/root/usr/libexec/sfdroid/system/framework |
|
sudo chown root:root $INSTALLDIR/root/usr/libexec/sfdroid/system/framework/services.jar |
|
|
|
# libandroid_servers.so AlarmManagerService, PowerManagerService, ActivityStackSupervisor, sfdroid_Helpers |
|
echo ==== building frameworks base services core jni ==== |
|
cd frameworks/base/services/core/jni |
|
mm |
|
cd $SOURCE_DIR |
|
sudo cp out/target/product/$DEVICE/system/lib/libandroid_servers.so $INSTALLDIR/root/$LIB_PATH |
|
sudo chown root:root $INSTALLDIR/root/$LIB_PATH/libandroid_servers.so |
|
|
|
echo ==== building frameworks base core jni ==== |
|
cd frameworks/base/core/jni |
|
mm |
|
cd $SOURCE_DIR |
|
sudo cp out/target/product/$DEVICE/system/lib/libandroid_runtime.so $INSTALLDIR/root/$LIB_PATH |
|
sudo chown root:root $INSTALLDIR/root/$LIB_PATH/libandroid_runtime.so |
|
|
|
echo ==== building external dbus ==== |
|
cd external/dbus |
|
mm |
|
cd $SOURCE_DIR |
|
sudo cp out/target/product/$DEVICE/system/lib/libdbus.so $INSTALLDIR/root/$LIB_PATH |
|
sudo chown root:root $INSTALLDIR/root/$LIB_PATH/libdbus.so |
|
|
|
# Settings: |
|
echo ==== building apps Settings ==== |
|
cd packages/apps/Settings |
|
mm |
|
cd $SOURCE_DIR |
|
sudo cp out/target/product/$DEVICE/system/priv-app/Settings/Settings.apk $INSTALLDIR/root/$PRIV_PATH/Settings |
|
sudo chown root:root $INSTALLDIR/root/$PRIV_PATH/Settings/Settings.apk |
|
|
|
echo ==== building frameworks base packages SysteUI ==== |
|
cd frameworks/base/packages/SystemUI/src/com/android/systemui |
|
mm |
|
cd $SOURCE_DIR |
|
sudo cp out/target/product/$DEVICE/system/priv-app/SystemUI/SystemUI.apk $INSTALLDIR/root/$PRIV_PATH/SystemUI |
|
sudo chown root:root $INSTALLDIR/root/$PRIV_PATH/SystemUI/SystemUI.apk |
|
|
|
echo ==== building opt net ethernet ==== |
|
cd frameworks/opt/net/ethernet/java/com/android/server |
|
mm |
|
cd $SOURCE_DIR |
|
sudo cp out/target/product/$DEVICE/system/framework/ethernet-service.jar $INSTALLDIR/root/usr/libexec/sfdroid/system/framework |
|
sudo chown root:root $INSTALLDIR/root/usr/libexec/sfdroid/system/framework/ethernet-service.jar |
|
|
|
echo ==== building opt net wifi ==== |
|
cd frameworks/opt/net/wifi/service/java/com/android/server/wifi |
|
mm |
|
cd $SOURCE_DIR |
|
sudo cp out/target/product/$DEVICE/system/framework/wifi-service.jar $INSTALLDIR/root/usr/libexec/sfdroid/system/framework |
|
sudo chown root:root $INSTALLDIR/root/usr/libexec/sfdroid/system/framework/wifi-service.jar |
|
|
|
echo ==== building frameworks base cmds am ==== |
|
cd frameworks/base/cmds/am/src/com/android/commands/am/ |
|
mm |
|
cd $SOURCE_DIR |
|
sudo cp out/target/product/$DEVICE/system/framework/am.jar $INSTALLDIR/root/usr/libexec/sfdroid/system/framework |
|
sudo chown root:root $INSTALLDIR/root/usr/libexec/sfdroid/system/framework/am.jar |
|
|
|
echo === Build complete === |
|
|
|
echo === tarballing === |
|
cd $INSTALLDIR/root |
|
sudo tar -czvf $INSTALLDIR/$DEVICE_sfdroid.tgz . |
|
cd $INSTALLDIR |
|
|
|
echo === DONE === |
The init.rc patching gist is deleted? On purpose (not needed)?