└── VoLTE-CAF └── build.sh /VoLTE-CAF/build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [ "$#" -ne 2 ];then 4 | echo "Usage: $0 /path/to/system/ /path/to/vendor/" 5 | exit 1 6 | fi 7 | 8 | system_folder="$1" 9 | vendor_folder="$2" 10 | libdst="ims/lib/arm64-v8a/" 11 | 12 | rm -Rf ims 13 | apktool d "$system_folder"/app/ims/ims.apk 14 | mkdir -p "$libdst" 15 | find "$system_folder"/app/ims/lib/arm64 -type f -exec cp '{}' "$libdst" \; 16 | find "$system_folder"/app/ims/lib/arm64 -type l -exec readlink '{}' + | \ 17 | while read f;do 18 | p="$(echo $f |sed -E 's;/system;;g')" 19 | cp "$system_folder"/$p "$libdst" 20 | done 21 | 22 | cp "$system_folder"/lib64/libnativeloader.so "$libdst" 23 | cp "$system_folder"/lib64/libnativehelper.so "$libdst" 24 | cp "$system_folder"/lib64/libcutils.so "$libdst" 25 | cp "$system_folder"/lib64/libutils.so "$libdst" 26 | cp "$system_folder"/lib64/libgui.so "$libdst" 27 | cp "$system_folder"/lib64/libbinder.so "$libdst" 28 | cp "$system_folder"/lib64/libc++.so "$libdst" 29 | cp "$system_folder"/lib64/libbacktrace.so "$libdst" 30 | cp "$system_folder"/lib64/libvndksupport.so "$libdst" 31 | cp "$system_folder"/lib64/libui.so "$libdst" 32 | cp "$system_folder"/lib64/libhidlbase.so "$libdst" 33 | cp "$system_folder"/lib64/libhidltransport.so "$libdst" 34 | cp "$system_folder"/lib64/libbase.so "$libdst" 35 | cp "$system_folder"/lib64/libunwind.so "$libdst" 36 | cp "$system_folder"/lib64/libhardware.so "$libdst" 37 | cp "$system_folder"/lib64/libhwbinder.so "$libdst" 38 | cp "$system_folder"/lib64/liblzma.so "$libdst" 39 | 40 | for i in android.hardware.media@1.0.so android.hardware.graphics.common@1.0.so android.hidl.token@1.0.so android.hardware.graphics.mapper@2.0.so android.hardware.graphics.allocator@2.0.so android.hidl.token@1.0-utils.so android.hardware.graphics.bufferqueue@1.0.so android.hardware.configstore@1.0.so android.hardware.configstore-utils.so;do 41 | newName="$(echo "$i" |sed -E -e 's/^andr/libA/g' -e 's/@/-/g')" 42 | cp "$system_folder"/lib64/$i "$libdst"/$newName 43 | done 44 | 45 | for i in android.hardware.media@1.0.so android.hardware.graphics.common@1.0.so android.hidl.token@1.0.so android.hardware.graphics.mapper@2.0.so android.hardware.graphics.allocator@2.0.so android.hidl.token@1.0-utils.so android.hardware.graphics.bufferqueue@1.0.so android.hardware.configstore@1.0.so android.hardware.configstore-utils.so;do 46 | newName="$(echo "$i" |sed -E -e 's/^andr/libA/g' -e 's/@/-/g')" 47 | sed -i -E "s/$i/$newName/g" "$libdst"/*.so 48 | done 49 | 50 | sed -i -e '/com.qti.vzw.ims.internal/d' ims/AndroidManifest.xml 51 | apktool b ims 52 | signapk -a 4096 -w \ 53 | /build/AOSP-8.1-clean/build/target/product/security/platform.x509.pem \ 54 | /build/AOSP-8.1-clean/build/target/product/security/platform.pk8 \ 55 | ims/dist/ims.apk ims.apk 56 | --------------------------------------------------------------------------------