멀티윈도우에 일반어플을 추가해보자(How to add normal applications to MultiWindow)
Samsung Galaxy Marshmallow/NOTE4 2016. 7. 8. 00:40How 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