안녕하세요

James.D™ (제임스덕)입니다

 

오늘은 노트3의 기능인 펜윈도우를 어플리케이션에 지원하게끔 수정하는 방법을 가르쳐 드리겠습니다

 

먼저 apkmanager나 apkmuti tool로 디컴파일 컴파일을 하실줄 아셔야 수정을 하실 수 있습니다...

먼저 멀티윈도우에 지원 시킬 어플리케이션을 디컴파일을 합니다...

 

그리고 AndroidManifest.xml를 엽니다.


<category android:name="android.intent.category.LAUNCHER" /> 밑에

<category android:name="com.samsung.android.intent.category.PENWINDOW_LAUNCHER" />를 추가 시킵니다.

 

그 다음 </application>위에

<meta-data android:name="com.samsung.android.sdk.multiwindow.penwindow.enable" android:value="true" />를 추가 시킵니다.

 

이제 컴파일하시면 끝입니다...

어플리케이션은 그냥 설치하시면 안되고 어플 싸인을 하신 후에 하셔야됩니다

패키지 충돌로 인해 설치가 불가능 하실 경우 기존 어플리케이션을 제거 하신 후에 설치하셔야됩니다

deodex 파일을 odex화로 전환하기

강좌 & 팁 | 2014.03.06 23:00 | Posted by James.D™

안녕하세요.제임스덕입니다

 

odex화 하는 방법을 알려드리겠습니다

 

첨부파일을 받으신 후 odex화 하실 파일의 폴더에 넣으신 후 아래의 설명과 같이 해주시면 되겠습니다

 

odex화 하실 파일이름이 아래에 없다면 파일이름으로 맞게 직접 수정하셔야됩니다

 

1) 작업 환경 만들기 각자의 폰이 루팅 상태이고 BusyBox 를 기본설치 한다!!

그리고 adb 를 c\ 경로에 설치한다!! (검색하시면 adb는 많이 있습니다!!)

2) deodex 로 트윅 작업된 파일과 첨부된 dexopt-wrapper 파일을 시스템/앱 폴더나

시스템/framework 폴더에 권한을 644로 투척해 줍니다!

그리고 루익은 항상 r/o로 설정후 작업합니다!!

3) 이제 아래 스크립트를 응용하여 cmd로 번호대로 적용 하시면 됩니다!!

su를 입력하시고 엔터후엔 처음에 폰에서 루트 권한을 요구 합니다!!

루트 권한을 주지 않으면 작업이 오류 발생하니 꼭 루트 권한을 주세요!!


1. cd c:\adb
2. adb shell
3. su
4. mount -o remount /rw /system

5. cd system

6. cd app
7. chown system.system /system/app/dexopt-wrapper
8. chmod 777 /system/app/dexopt-wrapper
9. ./dexopt-wrapper SecSettings.apk a.odex $BOOTCLASSPATH
10. busybox dd if=/system/app/SecSettings.odex of=a.odex bs=1 count=20 skip=52 seek=52 conv=notrunc
11. mv a.odex SecSettings.odex
12. chmod 644 SecSettings.*
13. chown root.root SecSettings.*
14. reboot


1. cd c:\adb
2. adb shell
3. su
4. mount -o remount /rw /system

5. cd system
6. cd framework
7. chown system.system /system/framework/dexopt-wrapper
8. chmod 777 /system/framework/dexopt-wrapper
9. ./dexopt-wrapper android.policy.jar a.odex $BOOTCLASSPATH
10. busybox dd if=/system/framework/android.policy.odex of=a.odex bs=1 count=20 skip=52 seek=52 conv=notrunc
11. mv a.odex android.policy.odex
12. chmod 644 android.policy.*
13. chown root.root android.policy.*
14. reboot

1. cd c:\adb
2. adb shell
3. su
4. mount -o remount /rw /system
5. cd system

6. cd framework
7. chown system.system /system/framework/dexopt-wrapper
8. chmod 777 /system/framework/dexopt-wrapper
9. ./dexopt-wrapper framework.jar a.odex $BOOTCLASSPATH
10. busybox dd if=/system/framework
/framework.odex of=a.odex bs=1 count=20 skip=52 seek=52 conv=notrunc
11. mv a.odex framework.odex
12. chmod 644 framework.*
13. chown root.root framework.*
14. reboot

1. cd c:\adb
2. adb shell
3. su
4. mount -o remount /rw /system

5. cd system
6. cd framework
7. chown system.system /system/framework/dexopt-wrapper
8. chmod 777 /system/framework/dexopt-wrapper
9. ./dexopt-wrapper framework2.jar a.odex $BOOTCLASSPATH
10. busybox dd if=/system/framework/framework2.odex of=a.odex bs=1 count=20 skip=52 seek=52 conv=notrunc
11. mv a.odex framework2.odex
12. chmod 644 framework2.*
13. chown root.root framework2.*
14. reboot

1. cd c:\adb
2. adb shell
3. su
4. mount -o remount /rw /system
5. cd system

6. cd framework
7. chown system.system /system/framework/dexopt-wrapper
8. chmod 777 /system/framework/dexopt-wrapper
9. ./dexopt-wrapper services.jar a.odex $BOOTCLASSPATH
10. busybox dd if=/system/framework/services.odex of=a.odex bs=1 count=20 skip=52 seek=52 conv=notrunc
11. mv a.odex services.odex
12. chmod 644 services.*
13. chown root.root services.*
14. reboot

 

dexopt-wrapper

 

안녕하세요.제임스덕입니다

 

멀티윈도우를 지원하지 않는 어플리케이션을 멀티윈도우에 지원 시키는 방법을 소개해드립니다

 

먼저 apkmanager나 apkmuti tool로 디컴파일 컴파일을 하실줄 아셔야 수정을 하실 수 있습니다...

먼저 멀티윈도우에 지원 시킬 어플리케이션을 디컴파일을 합니다...

 

그리고 AndroidManifest.xml를 엽니다.

<application android:label="string/app_name" 이 들어있는줄 밑에 이 문구를 추가시킵니다.

<meta-data android:name="com.sec.android.support.multiwindow" android:value="true" />
<meta-data android:name="com.sec.android.multiwindow.STYLE" android:value="fixedRatio" />

그리고

<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" /> 밑에

<category android:name="android.intent.category.MULTIWINDOW_LAUNCHER" />를 추가 시킵니다.

그 다음 </application>위에

<meta-data android:name="com.sec.android.multiwindow.DEFAULT_SIZE_W" android:resource="@dimen/app_defaultsize_w" />
<meta-data android:name="com.sec.android.multiwindow.DEFAULT_SIZE_H" android:resource="@dimen/app_defaultsize_h" />
<meta-data android:name="com.sec.android.multiwindow.MINIMUM_SIZE_W" android:resource="@dimen/app_minimumsize_w" />
<meta-data android:name="com.sec.android.multiwindow.MINIMUM_SIZE_H" android:resource="@dimen/app_minimumsize_h" />를 추가 시킵니다.

그리고 res폴더에 가서 values폴더로 들어갑니다.그폴더에 dimens.xml이 있을겁니다.없을 경우 만드셔야합니다.

dimens.xml를 열어서 이 문구를 추가시킵니다.

<dimen name="app_defaultsize_w">1.0dip</dimen>
<dimen name="app_defaultsize_h">1.0dip</dimen>
<dimen name="app_minimumsize_w">1.0dip</dimen>
<dimen name="app_minimumsize_h">1.0dip</dimen>

 

이제 컴파일하시면 끝입니다...

 

어플리케이션은 그냥 설치하시면 안되고 어플 싸인을 하신 후에 하셔야됩니다

 

패키지 충돌로 인해 설치가 불가능 하실 경우 기존 어플리케이션을 제거 하신 후에 설치하셔야됩니다

 

주의

 

모든 앱이 이 방법으로 지원되지는 않습니다.

어플리케이션의 해상도가 짤릴 수 있습니다