From 5f41df8dd465814ceb4764f5b7137108f121bb6f Mon Sep 17 00:00:00 2001 From: Artem Labazov <123321artyom@gmail.com> Date: Tue, 6 Jun 2017 20:09:17 +0300 Subject: [PATCH] build: Squashed changes Nougat (Android Wear 2.0) support, clean up and fixes --- .gitignore | 10 +++--- make.sh | 96 +++++++++++++++++++++++++----------------------------- 2 files changed, 49 insertions(+), 57 deletions(-) diff --git a/.gitignore b/.gitignore index d259096..4b095c9 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,5 @@ -images/dory/* -images/lenok/* -extract/* -system4dory.img -logcat.txt +images/* +extract/ +temp/ +*.img +*.log diff --git a/make.sh b/make.sh index 2525173..cec37e2 100755 --- a/make.sh +++ b/make.sh @@ -1,4 +1,5 @@ #!/bin/sh + clear echo "***** lenok2dory patcher started! *****" echo @@ -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... *****" @@ -20,7 +27,6 @@ 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 @@ -28,101 +34,87 @@ 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/ @@ -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