Advertisement
sniper_nuko

All android framework deodex test v2

Jun 16th, 2015
344
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 6.61 KB | None | 0 0
  1. # framework deodex処理
  2. framework_deodex () {
  3.     clear
  4.     mkdir $WORK
  5.     # Android 5.0.x以上の場合
  6.     if [ $bootver = "64sys" -o $bootver = "32sys" ]; then
  7.         # ファイル数取得
  8.         fodexnum=`find $FRAMEWORK | grep -c ".odex"`
  9.         if [ $bootver = "64sys" ]; then
  10.             fbootdexlist=`find raw/boot64 | grep ".dex" | sed s/.dex//`
  11.         elif [ $bootver = "32sys" ]; then
  12.             fbootdexlist=`find raw/boot | grep ".dex" | sed s/.dex//`
  13.         fi
  14.         if [ $fodexnum != "0" ]; then
  15.             if [ $bootver = "64sys" ]; then
  16.                 fodexlist=`find $FRAMEWORK/arm64 | grep ".odex" | sed s/.odex//`
  17.             elif [ $bootver = "32sys" ]; then
  18.                 fodexlist=`find $FRAMEWORK/arm | grep ".odex" | sed s/.odex//`
  19.             fi
  20.             # XPERIA SemcGenericUxpRes 64bit
  21.             if [ $bootver = "64sys" ]; then
  22.                 if [ -e $FRAMEWORK/SemcGenericUxpRes/arm64/SemcGenericUxpRes.odex ]; then
  23.                     cp $FRAMEWORK/SemcGenericUxpRes/arm64/SemcGenericUxpRes.odex $WORK/
  24.                     mv $FRAMEWORK/SemcGenericUxpRes/SemcGenericUxpRes.apk $WORK/
  25.                     cd $WORK
  26.                     # 実行結果非表示
  27.                     $TOOLS/oat2dex SemcGenericUxpRes.odex ../raw/boot64 > /dev/null 2>&1
  28.                     mv SemcGenericUxpRes.dex classes.dex
  29.                     7z a -tzip SemcGenericUxpRes.apk classes.dex
  30.                     mv SemcGenericUxpRes.apk $FRAMEWORK/SemcGenericUxpRes/SemcGenericUxpRes.apk
  31.                     rm -rf classes.dex SemcGenericUxpRes.odex
  32.                     rm -rf $FRAMEWORK/SemcGenericUxpRes/arm*
  33.                     cd $DEF
  34.                 else
  35.                     :
  36.                 fi
  37.                 # framework-cleaase2処理 64bit
  38.                 if [ -e raw/boot64/framework-classes2.dex ]; then
  39.                     cp  raw/boot64/framework-classes2.dex $WORK/
  40.                     cd $WORK
  41.                     mv framework-classes2.dex classes2.dex
  42.                     mv $FRAMEWORK/framework.jar framework.jar
  43.                     7z a -tzip framework.jar classes2.dex
  44.                     mv framework.jar $FRAMEWORK/framework.jar
  45.                     rm -rf classes2.dex
  46.                     clear
  47.                     cd $DEF
  48.                 else
  49.                     :
  50.                 fi
  51.             # XPERIA SemcGenericUxpRes 32bit
  52.             elif [ $bootver = "32sys" ]; then
  53.                 if [ -e $FRAMEWORK/SemcGenericUxpRes/arm/SemcGenericUxpRes.odex ]; then
  54.                     cp $FRAMEWORK/SemcGenericUxpRes/arm/SemcGenericUxpRes.odex $WORK/
  55.                     mv $FRAMEWORK/SemcGenericUxpRes/SemcGenericUxpRes.apk $WORK/
  56.                     cd $WORK
  57.                     # 実行結果非表示
  58.                     $TOOLS/oat2dex SemcGenericUxpRes.odex ../raw/boot > /dev/null 2>&1
  59.                     mv SemcGenericUxpRes.dex classes.dex
  60.                     7z a -tzip SemcGenericUxpRes.apk classes.dex
  61.                     mv SemcGenericUxpRes.apk $FRAME$WORK/SemcGenericUxpRes/SemcGenericUxpRes.apk
  62.                     rm -rf classes.dex SemcGenericUxpRes.odex
  63.                     rm -rf $FRAME$WORK/SemcGenericUxpRes/arm*
  64.                     cd $DEF
  65.                 else
  66.                     :
  67.                 fi
  68.                 # framework-cleaase2処理 32bit共通
  69.                 if [ -e raw/boot/framework-classes2.dex ]; then
  70.                     cp  raw/boot/framework-classes2.dex $WORK/
  71.                     cd $WORK
  72.                     mv framework-classes2.dex classes2.dex
  73.                     mv $FRAMEWORK/framework.jar framework.jar
  74.                     7z a -tzip framework.jar classes2.dex
  75.                     mv framework.jar $FRAMEWORK/framework.jar
  76.                     rm -rf classes2.dex
  77.                     clear
  78.                     cd $DEF
  79.                 else
  80.                     :
  81.                 fi
  82.             fi         
  83.             # boot-class deodex 64bit 32bit共通
  84.             for fbootdexfile in ${fbootdexlist[@]}
  85.             do
  86.                 cp $fbootdexfile.dex $WORK/
  87.                 cd $WORK
  88.                 fconvbootdex=`find *.dex | sed s/.dex//`
  89.                 if [ $fconvbootdex = "framework-classes2" ]; then
  90.                     rm -rf $fconvbootdex.dex
  91.                     cd $DEF
  92.                 else
  93.                     mv $fconvbootdex.dex classes.dex
  94.                     mv $FRAMEWORK/$fconvbootdex.jar $fconvbootdex.jar
  95.                     7z a -tzip $fconvbootdex.jar classes.dex
  96.                     mv $fconvbootdex.jar $FRAMEWORK/$fconvbootdex.jar
  97.                     rm -rf classes.dex
  98.                     clear
  99.                     cd $DEF
  100.                 fi
  101.             done
  102.             # boot-class以外 deodex 64bit
  103.             if [ $bootver = "64sys" ]; then
  104.                 for fodexfile in ${fodexlist[@]}
  105.                 do
  106.                     cp $fodexfile.odex $WORK/
  107.                     cd $WORK
  108.                     fconvodex=`find *.odex | sed s/.odex//`
  109.                     if [ $fconvodex = "com.android.nfc_extras" ]; then
  110.                         mv $fconvodex.odex $FRAMEWORK/$fconvodex.odex
  111.                         cd $DEF
  112.                     else
  113.                         # 実行結果非表示
  114.                         $TOOLS/oat2dex $fconvodex.odex ../raw/boot64 > /dev/null 2>&1
  115.                         mv $fconvodex.dex classes.dex
  116.                         mv $FRAMEWORK/$fconvodex.jar $fconvodex.jar
  117.                         7z a -tzip $fconvodex.jar classes.dex
  118.                         mv $fconvodex.jar $FRAMEWORK/$fconvodex.jar
  119.                         rm -rf $fconvodex.odex classes.dex
  120.                         clear
  121.                         cd $DEF
  122.                     fi
  123.                 done
  124.             # boot-class以外 deodex 32bit共通
  125.             elif [ $bootver = "32sys" ]; then
  126.                 for fodexfile in ${fodexlist[@]}
  127.                 do
  128.                     cp $fodexfile.odex $WORK/
  129.                     cd $WORK
  130.                     fconvodex=`find *.odex | sed s/.odex//`
  131.                     if [ $fconvodex = "com.android.nfc_extras" ]; then
  132.                         mv $fconvodex.odex $FRAMEWORK/$fconvodex.odex
  133.                         cd $DEF
  134.                     else
  135.                         # 実行結果非表示
  136.                         $TOOLS/oat2dex $fconvodex.odex ../raw/boot > /dev/null 2>&1
  137.                         mv $fconvodex.dex classes.dex
  138.                         mv $FRAMEWORK/$fconvodex.jar $fconvodex.jar
  139.                         7z a -tzip $fconvodex.jar classes.dex
  140.                         mv $fconvodex.jar $FRAMEWORK/$fconvodex.jar
  141.                         rm -rf $fconvodex.odex classes.dex
  142.                         clear
  143.                         cd $DEF
  144.                     fi
  145.                 done
  146.             fi
  147.             if [ -e $FRAMEWORK/.jar ]; then
  148.                 rm -rf $FRAMEWORK/.jar
  149.             fi
  150.             rm -rf $FRAMEWORK/arm*
  151.             echo ""
  152.             echo "frameworkのdeodex完了"
  153.             read Wait
  154.         else
  155.             echo ""
  156.             echo "frameworkフォルダにodexファイルは存在しないのでdeodexの必要はありません"
  157.             read Wait
  158.         fi
  159.     # Android 4.4以下
  160.     elif [ $api -le 19 ]; then
  161.         fodex=`find $FRAMEWORK | grep -c ".odex"`
  162.         if [ $fodex != "0" ]; then
  163.             cd $FRAMEWORK
  164.             # For XPERIA
  165.             if [ -e playstationcertified.odex ]; then
  166.                 mv playstationcertified.odex com.playstation.playstationcertified.odex
  167.             fi
  168.             if [ -e cneapiclient_release.odex ]; then
  169.                 mv cneapiclient_release.odex cneapiclient.odex
  170.             fi
  171.             if [ -e com.quicinc.cne_release.odex ]; then
  172.                 mv com.quicinc.cne_release.odex com.quicinc.cne.odex
  173.             fi
  174.             fapklist=`find *.apk | sed s/.apk//`
  175.             for fapkfile in ${fapklist[@]}
  176.             do
  177.                 clear
  178.                 $TOOLS/baksmali -d $FRAMEWORK -x $fapkfile.odex -o $WORK/$fapkfile
  179.                 $TOOLS/smali $WORK/$fapkfile -o $WORK/classes.dex
  180.                 7z a -tzip $fapkfile.apk $WORK/classes.dex
  181.                 rm -rf $WORK/$fapkfile $fapkfile.odex $WORK/classes.dex
  182.             done
  183.             fodexlist=`find *.odex | sed s/.odex//`
  184.             for fodexfile in ${fodexlist[@]}
  185.             do
  186.                 clear
  187.                 $TOOLS/baksmali -d $FRAMEWORK -x $fodexfile.odex -o $WORK/$fodexfile
  188.                 $TOOLS/smali $WORK/$fodexfile -o $WORK/classes.dex
  189.                 7z a -tzip $fodexfile.jar $WORK/classes.dex
  190.                 rm -rf $WORK/$fodexfile $fodexfile.odex $WORK/classes.dex
  191.             done
  192.             cd $DEF
  193.             echo ""
  194.             echo "frameworkのdeodex完了"
  195.             read Wait
  196.         else
  197.             echo ""
  198.             echo "frameworkフォルダにodexファイルは存在しないのでdeodexの必要はありません"
  199.             read Wait
  200.         fi
  201.     fi
  202.     rm -rf $WORK
  203.     menu
  204. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement