Skip to content

Commit

Permalink
build: Squashed changes
Browse files Browse the repository at this point in the history
Nougat (Android Wear 2.0) support, clean up and fixes
  • Loading branch information
artem committed Jun 6, 2017
1 parent 18de050 commit 5f41df8
Show file tree
Hide file tree
Showing 2 changed files with 49 additions and 57 deletions.
10 changes: 5 additions & 5 deletions .gitignore
@@ -1,5 +1,5 @@
images/dory/*
images/lenok/*
extract/*
system4dory.img
logcat.txt
images/*
extract/
temp/
*.img
*.log
96 changes: 44 additions & 52 deletions make.sh
@@ -1,4 +1,5 @@
#!/bin/sh

clear
echo "***** lenok2dory patcher started! *****"
echo
Expand All @@ -9,8 +10,14 @@ if [ "`sudo whoami`" != "root" ]
exit 1
fi

BUILD_DIR=`dirname "$0"`
cd $BUILD_DIR
export BUILD_DIR=`pwd`
# export PATH=$BUILD_DIR/prebuilt:$PATH


echo
echo "***** Cleaning up... *****"
echo
sudo rm -rf extract/ temp/

echo
echo "***** Extracting images... *****"
Expand All @@ -20,109 +27,94 @@ sudo unsquashfs -f -d extract/lenok/ images/lenok/system.img
sudo unsquashfs -f -d extract/dory/ images/dory/system.img



echo
echo "***** Cleaning lenok's system... *****"
echo
cd extract/lenok/bin/
sudo rm install-recovery.sh irsc_util sensors.qcom subsystem_ramdump wpa_supplicant ../recovery-from-boot.p

cd ../etc/
sudo rm -rf dhcpcd/dhcpcd.conf firmware/ permissions/android.hardware.sensor.barometer.xml \
permissions/android.hardware.sensor.heartrate.xml permissions/android.hardware.wifi.xml recovery-resource.dat \
sensors/sensor_def_lenok.conf wifi/
sudo rm -rf firmware/ permissions/android.hardware.sensor.barometer.xml permissions/android.hardware.sensor.heartrate.xml \
permissions/android.hardware.wifi.xml recovery-resource.dat sensors/sensor_def_lenok.conf wifi/

cd ../lib/
sudo rm libwpa_client.so hw/*lenok.so
sudo rm hw/*lenok.so #libwpa_client.so FIXME

cd ../vendor/lib/
sudo rm -rf ../firmware hw/ libAKM8963.so libdiag.so libdsutils.so libidl.so libmdmdetect.so libq3d.so libqmi_cci.so libqmi_client_qmux.so \
libqmi_common_so.so libqmi_csi.so libqmi_encdec.so libqmiservices.so libsensor1.so libsensor_reg.so libsensor_user_cal.so libxg.so
sudo rm -rf ../firmware hw/ libAKM8963.so libdiag.so libdsutils.so libidl.so libmdmdetect.so libqmi* libsensor1.so \
libsensor_reg.so libsensor_user_cal.so

cd $BUILD_DIR



echo
echo "***** Patching lenok's system... *****"
echo
apktool d -f -o extract/lenok-framework-res/ extract/lenok/framework/framework-res.apk
apktool d -f -r -o extract/lenok-OEMSetup/ extract/lenok/priv-app/OEMSetup/OEMSetup.apk
apktool d -f -o extract/lenok-services/ extract/lenok/framework/services.jar
apktool if -p temp-frame/ extract/lenok/framework/framework-res.apk
apktool d -f -p temp-frame/ -o extract/lenok-SettingsProvider/ extract/lenok/priv-app/SettingsProvider/SettingsProvider.apk
apktool d -f -p temp-frame/ -o extract/lenok-ClockworkAmbient/ extract/lenok/priv-app/ClockworkAmbient/ClockworkAmbient.apk
apktool d -f -p temp-frame/ -o extract/lenok-ClockworkSettings/ extract/lenok/priv-app/ClockworkSettings/ClockworkSettings.apk
apktool d -f -p temp-frame/ -o extract/lenok-MinModWatchfaces/ extract/lenok/priv-app/MinModWatchfaces/MinModWatchfaces.apk

sudo patch -p0 -l < patch/dory.patch
apktool -q if -p temp/framedir/ extract/lenok/framework/framework-res.apk
apktool -q d -f -o temp/lenok-framework-res/ extract/lenok/framework/framework-res.apk
apktool -q d -f -o temp/lenok-services/ extract/lenok/framework/services.jar
apktool -q d -r -f -p temp/framedir/ -o temp/lenok-OEMSetup/ extract/lenok/priv-app/OEMSetup/OEMSetup.apk
apktool -q d -s -f -p temp/framedir/ -o temp/lenok-SettingsProvider/ extract/lenok/priv-app/SettingsProvider/SettingsProvider.apk
apktool -q d -s -f -p temp/framedir/ -o temp/lenok-ClockworkAmbient/ extract/lenok/priv-app/ClockworkAmbient/ClockworkAmbient.apk
apktool -q d -s -f -p temp/framedir/ -o temp/lenok-ClockworkSettings/ extract/lenok/priv-app/ClockworkSettings/ClockworkSettings.apk

sudo patch -p0 -l -i patch/dory.patch
# Disable checking certs for shared system apps
# Because framework-res.apk is app with shared user id, system checks its signature anyway. Let's avoid this behavior
patch -p0 -l < patch/shared-certs.patch
sudo sed -i "/\b\(ro.build.expect.bootloader\|ro.expect.recovery_id\)\b/d" extract/lenok/build.prop
cp patch/product_image.png extract/lenok-OEMSetup/res/drawable-hdpi/
cp patch/product_image.png temp/lenok-OEMSetup/res/drawable-hdpi-v4/

apktool b -c extract/lenok-SettingsProvider/
cd extract/lenok-SettingsProvider/dist/
apktool b -c -p temp/framedir/ temp/lenok-SettingsProvider/
cd temp/lenok-SettingsProvider/dist/
zipalign -fpt 4 SettingsProvider.apk SettingsProvider-aligned.apk
mv SettingsProvider-aligned.apk SettingsProvider.apk
cd $BUILD_DIR
sudo sh -c "(cat extract/lenok-SettingsProvider/dist/SettingsProvider.apk > extract/lenok/priv-app/SettingsProvider/SettingsProvider.apk)"
sudo sh -c "(cat temp/lenok-SettingsProvider/dist/SettingsProvider.apk > extract/lenok/priv-app/SettingsProvider/SettingsProvider.apk)"

apktool b -c extract/lenok-ClockworkAmbient/
cd extract/lenok-ClockworkAmbient/dist/
apktool b -c -p temp/framedir/ temp/lenok-ClockworkAmbient/
cd temp/lenok-ClockworkAmbient/dist/
zipalign -fpt 4 ClockworkAmbient.apk ClockworkAmbient-aligned.apk
mv ClockworkAmbient-aligned.apk ClockworkAmbient.apk
cd $BUILD_DIR
sudo sh -c "(cat extract/lenok-ClockworkAmbient/dist/ClockworkAmbient.apk > extract/lenok/priv-app/ClockworkAmbient/ClockworkAmbient.apk)"
sudo sh -c "(cat temp/lenok-ClockworkAmbient/dist/ClockworkAmbient.apk > extract/lenok/priv-app/ClockworkAmbient/ClockworkAmbient.apk)"

apktool b -c extract/lenok-ClockworkSettings/
cd extract/lenok-ClockworkSettings/dist/
apktool b -c -p temp/framedir/ temp/lenok-ClockworkSettings/
cd temp/lenok-ClockworkSettings/dist/
zipalign -fpt 4 ClockworkSettings.apk ClockworkSettings-aligned.apk
mv ClockworkSettings-aligned.apk ClockworkSettings.apk
cd $BUILD_DIR
sudo sh -c "(cat extract/lenok-ClockworkSettings/dist/ClockworkSettings.apk > extract/lenok/priv-app/ClockworkSettings/ClockworkSettings.apk)"

apktool b -c extract/lenok-MinModWatchfaces/
cd extract/lenok-MinModWatchfaces/dist/
zipalign -fpt 4 MinModWatchfaces.apk MinModWatchfaces-aligned.apk
mv MinModWatchfaces-aligned.apk MinModWatchfaces.apk
cd $BUILD_DIR
sudo sh -c "(cat extract/lenok-MinModWatchfaces/dist/MinModWatchfaces.apk > extract/lenok/priv-app/MinModWatchfaces/MinModWatchfaces.apk)"

rm -rf temp-frame/
sudo sh -c "(cat temp/lenok-ClockworkSettings/dist/ClockworkSettings.apk > extract/lenok/priv-app/ClockworkSettings/ClockworkSettings.apk)"

sudo rm extract/lenok-OEMSetup/smali/com/lge/wearable/oemconfig/SetupBroadcastReceiver.smali.orig
apktool b -c extract/lenok-OEMSetup/
cd extract/lenok-OEMSetup/dist/
apktool b -c temp/lenok-OEMSetup/
cd temp/lenok-OEMSetup/dist/
zipalign -fpt 4 OEMSetup.apk OEMSetup-aligned.apk
mv OEMSetup-aligned.apk OEMSetup.apk
cd $BUILD_DIR
sudo sh -c "(cat extract/lenok-OEMSetup/dist/OEMSetup.apk > extract/lenok/priv-app/OEMSetup/OEMSetup.apk)"
sudo sh -c "(cat temp/lenok-OEMSetup/dist/OEMSetup.apk > extract/lenok/priv-app/OEMSetup/OEMSetup.apk)"

apktool b -c extract/lenok-framework-res/
cd extract/lenok-framework-res/dist/
apktool b -c temp/lenok-framework-res/
cd temp/lenok-framework-res/dist/
zipalign -fpt 4 framework-res.apk framework-res-aligned.apk
mv framework-res-aligned.apk framework-res.apk
cd $BUILD_DIR
sudo sh -c "(cat extract/lenok-framework-res/dist/framework-res.apk > extract/lenok/framework/framework-res.apk)"
sudo sh -c "(cat temp/lenok-framework-res/dist/framework-res.apk > extract/lenok/framework/framework-res.apk)"

apktool b -c extract/lenok-services/
cd extract/lenok-services/dist/
apktool b -c temp/lenok-services/
cd temp/lenok-services/dist/
zipalign -fpt 4 services.jar services-aligned.jar
mv services-aligned.jar services.jar
cd $BUILD_DIR
sudo sh -c "(cat extract/lenok-services/dist/services.jar > extract/lenok/framework/services.jar)"
sudo sh -c "(cat temp/lenok-services/dist/services.jar > extract/lenok/framework/services.jar)"

cd extract/
rm -rf lenok-*/
sudo rm lenok/build.prop.orig

sudo cp -a dory/bin/batteryd lenok/bin/
sudo cp -a dory/etc/audioservice.conf lenok/etc/
sudo cp -a dory/etc/regulatory_info.png lenok/etc/
sudo cp -ar dory/etc/sensors/ lenok/etc/
sudo cp -a dory/lib/libhardware_legacy.so lenok/lib/
# sudo cp -a dory/lib/libhardware_legacy.so lenok/lib/
# ^^^ WARNING!!! FIX ME!!! ^^^
sudo cp -a dory/lib/libinvensense_hal.so lenok/lib/
sudo cp -a dory/lib/libmllite.so lenok/lib/
Expand All @@ -138,10 +130,10 @@ sudo cp -ar dory/vendor/firmware/ lenok/vendor/
cd $BUILD_DIR



echo
echo "***** Making system image... *****"
echo
# sudo env "PATH=$PATH" mksquashfsimage.sh extract/lenok system4dory.img -s -m /system -c file_contexts
sudo prebuilt/mksquashfs extract/lenok/ system4dory.img -comp gzip -b 131072 -no-exports -noappend -android-fs-config \
-context-file file_contexts -mount-point /system
sudo chmod 777 system4dory.img
Expand Down

0 comments on commit 5f41df8

Please sign in to comment.