Legion Y700シリーズで不要な中国アプリを簡単に選別する方法
私は現在Legion Y700 Gen2(TB320FC)を所有していますが、中国アプリはさすがに使いずらいので削除しようと思いました。中には削除するとシステムに不具合を発生させるものもあるので慎重に行わないといけないと思い色々調べていた時にxdaに投稿がありました。
ここにはいろいろな情報があり大変参考になりました。投稿された方へ感謝いたします。投稿内容を読むと中国アプリの扱いについても書かれていました。ただ内容が膨大すぎて心が何回も完全に折れました。
大変ありがたい投稿ですができればもう読みたくないです。
なので中国アプリの扱いに関して何か機械的に判断できないかを模索した結果簡単な方法がありました。
1.削除できる中国アプリ
アプリに関してはrom内で使用用途によってある程度分かれています。
ただ完全に分かれているかというと、そうでもないのが現状です。
例 /system/priv-app 、/system/app 、/product/app など
xdaで削除してもいい中国アプリがどこに属しているか調べた結果、全部/system/preinstallにあることが分かりました。
adb shell "pm list packages -f | grep '/system/preinstall'"
これを調べるとxdaに書かれていた中国アプリと完全に一致しました。
Lenovoのchina romの場合、/system/preinstallに中国アプリがまとまっていました。何個かはばらけてると思ってたんですがうれしい誤算です。
2.uninstallバッチ作成、復旧用installバッチ作成
adb shell "pm list packages -f" > package_list.txt
pmコマンドで作成したlistを元にuninstallバッチ、復旧用installバッチを作成するプログラムをpythonにて作成しました。
apk_uninstall.py
import os,re
os.chdir(os.path.dirname(os.path.abspath(__file__)))
out = ''
out2 = ''
with open('package_list.txt') as f:
f1 = f.readlines()
for f2 in f1:
f3=f2.strip()
f4=re.split('[/=]', f3)
w_c=len(f4)
if f4[1] == 'system':
if f4[2] == 'preinstall':
out+=f'adb uninstall {f4[w_c-1]}\n'
out2+=f'adb shell "pm install /system/preinstall/{f4[w_c-3]}/{f4[w_c-2]}"\n'
out+='pause'
out2+='pause'
with open('apk_uninstall.bat','w') as o:
o.write(out)
with open('apk_install.bat','w') as o:
o.write(out2)
バッチは以下のようになります。
adb shell "pm list packages -f" > package_list.txt
python ./apk_uninstall.py
pause
これを実行するとuninstallバッチ、復旧用installバッチができます。
/system/preinstallにあるアプリは問答無用に削除して問題が発生したら特定のアプリのみを戻す考え方です。
apk_uninstall.bat
adb uninstall com.lenovo.legionzone
adb uninstall com.zui.calendar.overlay.paintingr
adb uninstall com.tencent.qqmusic
adb uninstall com.zui.calendar.overlay.golden
adb uninstall io.moreless.tide
adb uninstall com.lenovo.menu_assistant
adb uninstall com.zui.calendar.overlay.avengers
adb uninstall com.smile.gifmaker
adb uninstall com.sina.weibo
adb uninstall com.ss.android.ugc.aweme
adb uninstall com.qiyi.video.pad
adb uninstall com.zui.calendar
adb uninstall com.zui.calculator
adb uninstall com.lenovo.hyperengine
adb uninstall com.zui.calendar.overlay.grace
adb uninstall com.zui.calendar.overlay.superhero
adb uninstall com.newskyer.draw
adb uninstall com.zui.weather
adb uninstall com.zui.calendar.overlay.mostbeautiful
adb uninstall com.baidu.netdisk
adb uninstall com.zui.calendar.overlay.thin
adb uninstall cn.wps.moffice_eng
adb uninstall com.zui.calendar.overlay.pink
adb uninstall com.lenovo.club.app
adb uninstall com.iflytek.inputmethod.custom
adb uninstall com.zui.recorder
adb uninstall net.huanci.hsjpro
adb uninstall com.zui.calendar.overlay.blue
adb uninstall com.zui.calendar.overlay.mains
pause
apk_install.bat
adb shell "pm install /system/preinstall/LegionZone/LegionZone.apk"
adb shell "pm install /system/preinstall/XuiCalendarOverlaypaintingr/XuiCalendarOverlaypaintingr.apk"
adb shell "pm install /system/preinstall/QQMusic/QQMusic.apk"
adb shell "pm install /system/preinstall/XuiCalendarOverlaygolden/XuiCalendarOverlaygolden.apk"
adb shell "pm install /system/preinstall/Tide/Tide.apk"
adb shell "pm install /system/preinstall/LeVoiceAccessbility/LeVoiceAccessbility.apk"
adb shell "pm install /system/preinstall/XuiCalendarOverlayavengers/XuiCalendarOverlayavengers.apk"
adb shell "pm install /system/preinstall/kwai_HD/kwai_HD.apk"
adb shell "pm install /system/preinstall/Weibo_HDwm/Weibo_HDwm.apk"
adb shell "pm install /system/preinstall/DouYin/DouYin.apk"
adb shell "pm install /system/preinstall/iqiyi/iqiyi.apk"
adb shell "pm install /system/preinstall/XuiCalendar/XuiCalendar.apk"
adb shell "pm install /system/preinstall/XuiCalculator/XuiCalculator.apk"
adb shell "pm install /system/preinstall/HyperEngine/HyperEngine.apk"
adb shell "pm install /system/preinstall/XuiCalendarOverlaygrace/XuiCalendarOverlaygrace.apk"
adb shell "pm install /system/preinstall/XuiCalendarOverlaysuperhero/XuiCalendarOverlaysuperhero.apk"
adb shell "pm install /system/preinstall/Touchnotes_HD/Touchnotes_HD.apk"
adb shell "pm install /system/preinstall/ZuiWeather/ZuiWeather.apk"
adb shell "pm install /system/preinstall/XuiCalendarOverlaymostbeautiful/XuiCalendarOverlaymostbeautiful.apk"
adb shell "pm install /system/preinstall/BaiduNetdisk/BaiduNetdisk.apk"
adb shell "pm install /system/preinstall/XuiCalendarOverlaythin/XuiCalendarOverlaythin.apk"
adb shell "pm install /system/preinstall/Moffice_196/Moffice_196.apk"
adb shell "pm install /system/preinstall/XuiCalendarOverlaypink/XuiCalendarOverlaypink.apk"
adb shell "pm install /system/preinstall/LenovoSmartBuy_lenovopad/LenovoSmartBuy_lenovopad.apk"
adb shell "pm install /system/preinstall/iFlyIME_PAD/iFlyIME_PAD.apk"
adb shell "pm install /system/preinstall/XuiRecorder/XuiRecorder.apk"
adb shell "pm install /system/preinstall/HSJPRO/HSJPRO.apk"
adb shell "pm install /system/preinstall/XuiCalendarOverlayblue/XuiCalendarOverlayblue.apk"
adb shell "pm install /system/preinstall/XuiCalendarOverlaylime/XuiCalendarOverlaylime.apk"
pause
3.削除できないアプリ
削除できないアプリとして
ZuiBrowser(ブラウザ)
ZuiContacts(連絡先)
ZuiGallery(ギャラリー)
ZuiFileManager(ファイルマネージャー)
これらは削除できないので無効化します。
package:/system/priv-app/ZuiBrowser/ZuiBrowser.apk=com.lenovo.browser.hd
package:/system/priv-app/ZuiContacts/ZuiContacts.apk=com.zui.contacts
package:/system/priv-app/ZuiGallery/ZuiGallery.apk=com.zui.gallery
package:/system/app/ZuiFileManager/ZuiFileManager.apk=com.zui.filemanager
adb shell pm disable-user com.lenovo.browser.hd
adb shell pm disable-user com.zui.contacts
adb shell pm disable-user com.zui.gallery
adb shell pm disable-user com.zui.filemanager
pause
再度有効化は
adb shell pm enable パッケージ名
になります。
4.Legion Y700 Gen3(TB321FU)はどうなる?
androplusさんがdumpをuploadされてるのでそれを元に調べてみます。
4-1.ここにあるsuper.imgをdownloadします。
4-2.lpdumpにsuper.imgの中身をみます。
lpdump -j super.img > lpdump.json
これを見るとdynamic partitionがわかります。
Legion Y700 Gen3(TB321FU)は
'odm', 'product', 'system', 'system_dlkm', 'system_ext', 'vendor', 'vendor_dlkm'
になります。
4-3.lpunpackにて各dynamic partitionを抽出します。
今回はcurren-slot bになります。(androplusさんがslot bと明記されています。)
lpunpack -s=1 -p=odm_b super.img
lpunpack -s=1 -p=product_b super.img
lpunpack -s=1 -p=system_b super.img
lpunpack -s=1 -p=system_dlkm_b super.img
lpunpack -s=1 -p=system_ext_b super.img
lpunpack -s=1 -p=vendor_b super.img
lpunpack -s=1 -p=vendor_dlkm_b super.img
mv odm_b.img odm.img
mv product_b.img product.img
mv system_b.img system.img
mv system_dlkm_b.img system_dlkm.img
mv system_ext_b.img system_ext.img
mv vendor_b.img vendor.img
mv vendor_dlkm_b.img vendor_dlkm.img
4-4抽出したpartitionをmountします。
mkdir system/
sudo mount -o ro system.img system/
sudo mount -o ro odm.img system/odm
sudo mount -o ro product.img system/product
sudo mount -o ro system_dlkm.img system/system_dlkm
sudo mount -o ro system_ext.img system/system_ext
sudo mount -o ro vendor.img system/vendor
sudo mount -o ro vendor_dlkm.img system/vendor_dlkm
4-5./system/preinstallを見ます。
cd system
find ./system/preinstall -name *apk
以下のリストが出力されます。
./system/preinstall/DouYin/DouYin.apk
./system/preinstall/HSJPRO/HSJPRO.apk
./system/preinstall/LegionZone/LegionZone.apk
./system/preinstall/LenovoSmartBuy_lenovopad/LenovoSmartBuy_lenovopad.apk
./system/preinstall/Moffice_196/Moffice_196.apk
./system/preinstall/MotoReadyFor/MotoReadyFor.apk
./system/preinstall/QQMusic/QQMusic.apk
./system/preinstall/SogouInput/SogouInput.apk
./system/preinstall/TabletVantage/TabletVantage.apk
./system/preinstall/Tide/Tide.apk
./system/preinstall/Touchnotes_HD/Touchnotes_HD.apk
./system/preinstall/Weibo_HDwm/Weibo_HDwm.apk
./system/preinstall/XuiCalculator/XuiCalculator.apk
./system/preinstall/XuiCalendar/XuiCalendar.apk
./system/preinstall/XuiCalendarOverlayavengers/XuiCalendarOverlayavengers.apk
./system/preinstall/XuiCalendarOverlayblue/XuiCalendarOverlayblue.apk
./system/preinstall/XuiCalendarOverlaygolden/XuiCalendarOverlaygolden.apk
./system/preinstall/XuiCalendarOverlaygrace/XuiCalendarOverlaygrace.apk
./system/preinstall/XuiCalendarOverlaylime/XuiCalendarOverlaylime.apk
./system/preinstall/XuiCalendarOverlaymostbeautiful/XuiCalendarOverlaymostbeautiful.apk
./system/preinstall/XuiCalendarOverlaypaintingr/XuiCalendarOverlaypaintingr.apk
./system/preinstall/XuiCalendarOverlaypink/XuiCalendarOverlaypink.apk
./system/preinstall/XuiCalendarOverlaysuperhero/XuiCalendarOverlaysuperhero.apk
./system/preinstall/XuiCalendarOverlaythin/XuiCalendarOverlaythin.apk
./system/preinstall/XuiRecorder/XuiRecorder.apk
./system/preinstall/Youku/Youku.apk
./system/preinstall/ZuiAlarm/ZuiAlarm.apk
./system/preinstall/ZuiGallery/ZuiGallery.apk
./system/preinstall/ZuiNotes/ZuiNotes.apk
./system/preinstall/ZuiWeather/ZuiWeather.apk
./system/preinstall/iqiyi/iqiyi.apk
./system/preinstall/kwai_HD/kwai_HD.apk
./system/preinstall/minigameLauncher_release/minigameLauncher_release.apk
4-5.Gen2とGen3を比較します。
Gen2から多少変動はあるものの誤差の範囲かな。
基本は削除してみて問題あれば復活でいいかな?ぶっちゃけよくわかんない。
あとはブラウザ等はdisableで。