루팅된 x98 pro 정발 순정롬 추출해서 올립니다.

루팅 해제하고 싶으면

SuperSu-설정-완전한 루팅 권한 해제

하면 됩니다.

This ROM is rooted.

You can unroot this rom in SuperSu settings following up path

[SuperSu]-[Settings]-[Full unroot]


다운링크(download_link)


WRITTEN BY
_A-hin

,




사용법


리커버리 진입 후 플래싱 

혹은

1. /system/priv-app/SystemUI/SystemUI.apk 투척 후 

2. /system/priv-app/SystemUI/x86_64 폴더 삭제

3. 이후 재부팅



How to use

flash the zip file through recovery mode

otherwise,


1. put the APK file to /system/priv-app/SystemUI/SystemUI.apk

2. delete  /system/priv-app/SystemUI/x86_64  folder

3. reboot your device




다운링크(DownLink)


WRITTEN BY
_A-hin

,

삼성뮤직 (음악) 알림창 셔플 반복 버튼 추가  v.16.1.91-16

Samsung Music Added Shuffle and Repeat Button on Notification  v.16.1.91-16


Samsung music v.16.1.91-16

It can be installed.

If it failed to be installed, it'd be installed by dropping this file to the system path following up here 

System/priv-app/SMusicGrace/SMusicGrace.apk

with getting permission 644


일반설치

혹은 설치가 안될 시

System/priv-app/SMusicGrace/SMusicGrace.apk 에 퍼미션 644로 투척 후 재부팅





다운링크(Download link)


WRITTEN BY
_A-hin

,

How to add normal applications to MultiWindow


라크루샤님의 N910x DPF4 Customized Dedex ver 1.0 (http://cafe.naver.com/dqkernel/323) 를 적용하신 노트4 사용자분이라면

다음링크를 다운하고 4번 단계로 건너뜁니다.



다운링크






1. framework.jar 를 디컴파일한다.

1. Decompile framework.jar




2. MultiWindowApplicationInfos.smali  열어 

loadCscAppList 메소드를 찾아줍니다.

2. Open MultiWindowApplicationInfos.smali , then search loadCscAppList method and find it.




저는 이미 적용을 한 상태라 메소드 안에 내용이 있는데

노트4 마시멜로 상태에서는 아마 아무 코드도 작성되어있지 않을 것 입니다.

There have been a kind of codes in the method because I've already applied it.

There might be no codes as Note4 Marshmallow, I reckon.




3. 아래 코드를 loadCscAppList 메소드에 복붙해 저장하고 다시 컴파일 해줍니다.

3. Copy those codes below and paste to loadCscAppList method.

   After that, save this file and compile it.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
.method public loadCscAppList()V
    .locals 7
 
    .prologue
    .line 106
    invoke-static {}, Lcom/sec/android/app/CscFeature;->getInstance()Lcom/sec/android/app/CscFeature;
 
    move-result-object v4
 
    const-string v5, "CscFeature_Framework_AddOnApp4MultiWindow"
 
    const/4 v6, 0x0
 
    invoke-virtual {v4, v5, v6}, Lcom/sec/android/app/CscFeature;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
 
    move-result-object v1
 
    .line 107
    .local v1, "cscAddOnApp":Ljava/lang/String;
    if-eqz v1, :cond_2
 
    .line 108
    new-instance v2, Ljava/util/ArrayList;
 
    const-string v4, ","
 
    invoke-virtual {v1, v4}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;
 
    move-result-object v4
 
    invoke-static {v4}, Ljava/util/Arrays;->asList([Ljava/lang/Object;)Ljava/util/List;
 
    move-result-object v4
 
    invoke-direct {v2, v4}, Ljava/util/ArrayList;-><init>(Ljava/util/Collection;)V
 
    .line 109
    .local v2, "cscAddOnAppList":Ljava/util/ArrayList;, "Ljava/util/ArrayList<Ljava/lang/String;>;"
    invoke-virtual {v2}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;
 
    move-result-object v3
 
    .local v3, "i$":Ljava/util/Iterator;
    :cond_0
    :goto_0
    invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z
 
    move-result v4
 
    if-eqz v4, :cond_2
 
    invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;
 
    move-result-object v0
 
    check-cast v0, Ljava/lang/String;
 
    .line 110
    .local v0, "addOnApp":Ljava/lang/String;
    const-string v4, "-"
 
    invoke-virtual {v0, v4}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
 
    move-result v4
 
    if-eqz v4, :cond_1
 
    .line 111
    const/4 v4, 0x1
 
    invoke-virtual {v0, v4}, Ljava/lang/String;->substring(I)Ljava/lang/String;
 
    move-result-object v0
 
    .line 112
    iget-object v4, p0, Lcom/samsung/android/multiwindow/MultiWindowApplicationInfos;->mSupportAppList:Ljava/util/ArrayList;
 
    invoke-virtual {v4, v0}, Ljava/util/ArrayList;->contains(Ljava/lang/Object;)Z
 
    move-result v4
 
    if-eqz v4, :cond_0
 
    .line 113
    iget-object v4, p0, Lcom/samsung/android/multiwindow/MultiWindowApplicationInfos;->mSupportAppList:Ljava/util/ArrayList;
 
    invoke-virtual {v4, v0}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z
 
    goto :goto_0
 
    .line 114
    :cond_1
    iget-object v4, p0, Lcom/samsung/android/multiwindow/MultiWindowApplicationInfos;->mSupportAppList:Ljava/util/ArrayList;
 
    invoke-virtual {v4, v0}, Ljava/util/ArrayList;->contains(Ljava/lang/Object;)Z
 
    move-result v4
 
    if-nez v4, :cond_0
 
    .line 115
    iget-object v4, p0, Lcom/samsung/android/multiwindow/MultiWindowApplicationInfos;->mSupportAppList:Ljava/util/ArrayList;
 
    invoke-virtual {v4, v0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
 
    goto :goto_0
 
    .line 133
    .end local v0    # "addOnApp":Ljava/lang/String;
    .end local v2    # "cscAddOnAppList":Ljava/util/ArrayList;, "Ljava/util/ArrayList<Ljava/lang/String;>;"
    .end local v3    # "i$":Ljava/util/Iterator;
    :cond_2
    return-void
.end method
cs






4. 폰의 system/framework 경로에 투척 후 퍼미션 644를 적용해줍니다.

4. Grab and throw it to 'system/framework' path in your phone. 

   Grant 644 permissions to it as generally understood.




5. system/csc 의 경로에서 others.xml 의 파일이름을 feature.xml로 바꿔줍니다.

5. Change file name from 'others.xml' to 'feature.xml' in 'system/csc' path in your phone.



6. 편집 가능하도록 파일을 연 뒤, 다음 코드를 <SamsungMobileFeature><FeatureSet> 과 </FeatureSet> </SamsungMobileFeature> 사이에 붙여넣습니다.

6. Open 'feature.xml' file in order to edit, and copy below code and paste it between <SamsungMobileFeature><FeatureSet>and </FeatureSet> </SamsungMobileFeature>






<CscFeature_Framework_AddOnApp4MultiWindow></CscFeature_Framework_AddOnApp4MultiWindow>





7. <CscFeature_Framework_AddOnApp4MultiWindow>이곳에 멀티윈도우가 되길 원하는 앱의 패키지명을 붙여넣습니다.</CscFeature_Framework_AddOnApp4MultiWindow>

아래는 네이버카페와 루트 익스플로러의 예제입니다.


7. <CscFeature_Framework_AddOnApp4MultiWindow>Copy packagename that you want the application to be MultiWindow and paste HERE</CscFeature_Framework_AddOnApp4MultiWindow>

As you see below, there is an example of applications including Navercafe and RootExplorer.




<CscFeature_Framework_AddOnApp4MultiWindow>com.nhn.android.navercafe,com.speedsoftware.rootexplorer</CscFeature_Framework_AddOnApp4MultiWindow>





아래 링크는 패키지명을 쉽게 찾고 복사할수 있는 어플입니다.

Here is an application you can easily find out a name of package and copy to clipboard.


링크(Link)




8. 저장후 재부팅합니다.

9. Reboot your phone after saving it.



'Samsung Galaxy Marshmallow > NOTE4' 카테고리의 다른 글

SidePanel/SideKey Activated on DN7  (0) 2017.04.03

WRITTEN BY
_A-hin

,



2015년 12월 24일

미렉롬이 새로운 커스텀롬으로 돌아왔답니다.

이 2.01버전은 트윅,멀티테스킹, 속도향상(무엇에 대한 속도 향상인지는 안써져있음)
이 특징이랍니다.

제 생각으로 이번 버전은
커널에 손을 좀 많이 댄듯합니다.
저는 적용안해봤지만
발열을 잡고 배터리를 2배가까이 절약할수 있다니
카페에 소개됐던 1.1버전 사용자분들은
한번 업데이트 해보시는 것도 좋을 것 같네요. 




체인지로그
v2.01
——————————————
– removed chrome
– added stock browser from AOSP rom – much lighter and very fast ( at the moment we have only 2 GB of ram available in android … )
– enabled zRam – 600 MB
– KSM – increasing free ram
– Adaway added and updated
– VM tweaked
– I/O tweaked
– I/O deadline
– Scheduler TWEAKED – NOW DEVICE is not HOT and save battery almost 2x in normal use !!!



WRITTEN BY
_A-hin

,

저는 이미 TWRP를 X98 pro 정발판에서 영구히 적용했을때

정상작동한다는 것을 확인했습니다.

모르시는 분들이 계실 것 같아 포스팅합니다.


영구 플래싱했을 때의 장점은

1. PC를 이용하지 않고도 리커버리 모드에 진입해
   안드로이드 무한로고 혹은 무한재부팅 상태에서
   리커버리의 [Restore] (복원)
   항목을 이용해 간단히 이전 상태로 돌릴 수 있습니다.


2. 리커버리 모드에 진입하기 위해 볼륨버튼을 누르는 수고없이

    PC와 USB 연결되어있는 상태에서 명령어 한개로 리커버리 모드 진입가능 합니다.




현재 포팅된 X98 pro 용 커스텀 리커버리는 TWRP 밖에 없습니다.

커스텀 리커버리에 관해서는 이미 포스팅 한적이 있고

리커버리 진입 전까지의 드라이버 관련해서도

포스팅 한적이 있습니다.



* 커스텀 리커버리 설명 및 최신버전다운링크 포함
http://ahin3333.tistory.com/16


------------------------------------------------------------------


X98 Pro Plus(정발판)이던지 직구판(중국발) 이던지

mirek190 롬을 적용시킬수 있습니다.


2015년 12월 24일 2.01버전

* 미렉롬 원문링크

http://techtablets.com/2015/12/mirek190s-teclast-x98-pro-v2-0-rom-released/


* 미렉롬 다운링크

https://docs.google.com/uc?id=0B4EXB7Ngka9pRERJWGJheVVhWHc&export=download


다운링크는 원 배포자의 링크를 그대로 사용하였습니다.


------------------------------------------------------

2. 미렉롬에서 플래싱


방법은 아주 간단합니다.

(사진은 미렉롬 v1.1 입니다)


먼저 다운받으신 커스텀 리커버리 ( TWRP-2.8.7.0_teclast_x98pro-b2.img 

알집파일 아닙니다. 압축푸시고 확장자 잘보세요.

를 recovery.img 로 이름을 바꾸고


다운받은 미렉롬의 압축 푼 경로에

복붙하셔서 덮어쓰기 하시면 됩니다.


(사진에서 리커버리 용량 보면 덮어쓰기 했다는 것을 알수있음)




이제 위 사진의 스크립트를 실행하시고

알아서 자신의 옵션으로 펌웨어 플래싱을 진행하시면

커스텀 리커버리도 영구히 올려져 있을 것입니다.



아까 장점 얘기는 무엇이냐하면



태블릿이 온전히 안드로이드로 부팅되어있고

PC와 USB연결 되어있는 상태에서


adb reboot recovery

명령어 한번으로 바로 리커버리 모드 진입이 가능합니다.

( 일시적인 진입 방법에서는 DNX 패스트부트 모드로 진입후

명령어를 두번 입력해줘야 했어서

그것보다는 확실히 편리해짐 )

----------------------------------------------------------------------

이상 마치겠습니다.


WRITTEN BY
_A-hin

,

오랜만입니다.


저는 이미 TWRP를 X98 pro 정발판에 

영구히 적용했을때

정상작동한다는 것을 확인했습니다.

모르시는 분들이 계실 것 같아 포스팅합니다.



영구 플래싱했을 때의 장점은

1. PC를 이용하지 않고도 리커버리 모드에 진입해
   안드로이드 무한로고 혹은 무한재부팅 상태에서
   리커버리의 [Restore] (복원)
   항목을 이용해 간단히 이전 상태로 돌릴 수 있습니다.


2. 리커버리 모드에 진입하기 위해 볼륨버튼을 누르는 수고없이

    PC와 USB 연결되어있는 상태에서 명령어 한개로 리커버리 모드 진입가능 합니다.




이미 제 포스팅으로 루팅까지 진행하셨던 분이라면

아래의 1.패스트부트 플래싱 과정을 진행하시고

mirek 롬 사용자 혹은 mirek롬을 올리실 사용자라면 

2. 미렉롬에서 플래싱 http://ahin3333.tistory.com/26

과정을 진행하시기 바랍니다.




현재 포팅된 X98 pro 용 커스텀 리커버리는 TWRP 밖에 없습니다.

커스텀 리커버리에 관해서는 이미 포스팅 한적이 있고

리커버리 진입 전까지의 드라이버 관련해서도

포스팅 한적이 있습니다.




* 커스텀 리커버리 설명 및 최신버전다운링크 포함
http://ahin3333.tistory.com/16




* X98 pro 정발 & 중국발 루팅하기-드라이버

http://ahin3333.tistory.com/1


이 과정을 끝내셔야

미렉롬도 올리실 수 있습니다.


* X98 pro 정발 & 중국발 루팅하기-리커버리&루팅

http://ahin3333.tistory.com/2



두번 말하는 것을 싫어하기 때문에

전부다 링크로 대체합니다.


------------------------------------------------------



1. 패스트부트 플래싱



X98 pro 정발 & 중국발 루팅하기-리커버리&루팅

에서 언급했듯이

fastboot flash recovery 파일명.img 으로 영구히 올려버릴 수 있습니다.

무슨말인가 하면




(여기까지의 진입은 http://ahin3333.tistory.com/2 보시고 알아서 따라오세요)


fastboot boot loader.efi 다음에

fastboot flash recovery 파일명.img 보이시죠?



이렇게 올려버린 다음부터는

굳이 PC를 통하지 않아도


안드&윈도 부팅 옵션에서 안드 선택후

바로 볼륨 다운(-) 버튼 누르고 있으면

드로이드 패스트부트 화면으로 진입하고


볼륨버튼으로 recovery mode 를 선택

리커버리 모드(아래 사진)진입하실 수 있습니다.

( 영구히 플래싱하지 않고
이 과정을 진행하시면
아무것도 없이 안드로이드가 배 까고 있는 화면이 있을 것입니다. )



아까 장점 얘기는 무엇이냐하면



태블릿이 온전히 안드로이드로 부팅되어있고

PC와 USB연결 되어있는 상태에서


adb reboot recovery

명령어 한번으로 바로 리커버리 모드 진입이 가능합니다.


( 일시적인 진입 방법에서는 DNX 패스트부트 모드로 진입후

명령어를 두번 입력해줘야 했어서

그것보다는 확실히 편리해짐 )





----------------------------------------------------------------------

이상 마치겠습니다.



WRITTEN BY
_A-hin

,





메시지 잘 쓰지않지만

예약해서 보내려하니
이런 토스트메시지가 뜨네요..

이런 제한을 왜 만들어 놨을까요
코드보니 원래는 5분제한이었던 것 같은데
애매하게 6분이라..

잘 안쓰는 기능이다보니
이런 제한이 있는지 없는지
여러분 모르셨을수도 있어요




그래서 그냥 만들었네요
xposed 모듈




과거로 예약못하는것과
1년이내의 시간에만 예약가능한 것은
살려뒀습니다


다운링크


WRITTEN BY
_A-hin

,




이것역시 배터리잔량에 이어서
5.1.1 자체에 없는기능


그리고 예전에 언급했듯이
소프트키의 특정 버튼 활성화가 코드로 묶여있어
디오덱스하기 전까지는 못한다고 했었는데

이제 접근이 가능하기 때문에
진정한 의미에서의 메뉴버튼 활성화도 하였습니다.



WRITTEN BY
_A-hin

,
x98 pro 정발 상단바에 배터리 퍼센트 표시




5.1.1 자체에 이 기능이 없습니다.
그래서 포팅이 불가피했고

정말 어려웠습니다..

기계어로 이정도 코딩해보긴 또 처음이네요

( 다른분들은 잘 이해가 안가시겠지만
 x98 pro는 64비트아키텍쳐로서
Xposed가 개발될리 만무합니다.
Xposed가 없는 상태에서 이렇게 구현하기는 매우 까다롭습니다. ) 

+내용추가
저는 이틀만에 mirek에서 순정으로 롤백했네요.
딥슬립 후에 화면을 켜면
깨짐현상이 두번이나 발견되어
(순정에서는 한번도 그런적이 없었습니다)
돌아왔네요.
아마 mirek롬이 중국발 버전에서 조금 추가한것이고
정발은 중국발보다 한단계 높은버전이 아닐까 생각합니다.
(부트이미지를 안뜯어봤기 때문에 사실이 아니라 추측임)

그리고 태코가 정발 펌웨어 업데이트를 어떻게 진행할지 모르기 때문에
순정에 일단 머무르고 있는게 좋을 것 같다는 생각이 들어서
돌아왔습니다.

결론은 정발 여러분은 mirek보다 순정이 더 괜찮지 않을까 생각합니다.



WRITTEN BY
_A-hin

,