androplus.orgへ移転しました。
数秒後に移動します。
数秒後に移動します。
[PR]
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
音量パネルで着信音量以外も変更する方法
Gravityboxなどには音量キーを押したときに出る音量パネルに着信音量以外の
通知音量やアラーム音量を変更出来るようにする設定があります。
しかしXperiaは特殊なので動いたり動かなかったりと安定しません。
なので自分でsmaliを編集して出してしまうようにします。
通知音量やアラーム音量を変更出来るようにする設定があります。
しかしXperiaは特殊なので動いたり動かなかったりと安定しません。
なので自分でsmaliを編集して出してしまうようにします。
まずframework.jarをapktool.batのあるフォルダでコマンドプロンプトを開き、
smaliandroidiewVolumePanel.smali
を開きます。
Landroid/content/Context;->getResources()Landroid/content/res/Resources;で検索し、
(変更前)
iget-boolean v4, p0, Landroid/view/VolumePanel;->mVoiceCapable:Zで検索します。
その下にある
iget-boolean v4, p0, Landroid/view/VolumePanel;->mUseMasterVolume:Zで検索(というかすぐ下ですが)
その下にある
さらに少し下の
(変更前)
次に#window:Landroid/view/Window;で検索します。
下にある
(変更前)
ここまででVolumePanel.smaliの編集は終了です。
ここからは
smaliandroidiewVolumePanel$StreamResources.smali
を編集します。
まずconst v6, 0x10802で検索します。
このようにみつかるので(みつからなければconst v6で検索)
move v6, v13と検索し、その下にある
次にmove v6, v2、move v5, v14と検索しそれぞれmove v6, v13と同じように変更します。
その次はconst v9, 0x10802と検索します。
少し上にconst-string v4, "RingerStream"があることを確認し、
検索結果の下にある
最後に、move v7, v12で検索します。
これでVolumePanel$StreamResources.smaliの編集も完了です。
apktool.batのあるフォルダでコマンドプロンプトを開き、
uildapkにできたclasses.dexをframework.jarに7zipなどで無圧縮で追加すれば完了です。
zipを作るなりして書き戻したあと再起動すると音量パネルに着信音量の他に
アラームと通知音量を変更出来るバーが追加されているはずです。
いちいちzipを作ってインストールするのは面倒だ、という人のためadbでできる方法を書いておきます。
apktool d framework.jarとしてデコンパイルし、
smaliandroidiewVolumePanel.smali
を開きます。
Landroid/content/Context;->getResources()Landroid/content/res/Resources;で検索し、
invoke-virtual {p1}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;を削除して
move-result-object v4
invoke-virtual {v4, v8}, Landroid/content/res/Resources;->getBoolean(I)Z
move-result v4
const/4 v2, 0x0を追記します。
(変更前)
iget-boolean v4, p0, Landroid/view/VolumePanel;->mVoiceCapable:Zで検索します。
その下にある
if-nez v4, :cond_1を削除します。
iget-boolean v4, p0, Landroid/view/VolumePanel;->mUseMasterVolume:Zで検索(というかすぐ下ですが)
その下にある
if-nez v4, :cond_1を削除します。
さらに少し下の
iget-boolean v4, p0, Landroid/view/VolumePanel;->mShowCombinedVolumes:Zの下にある
if-nez v4, :cond_2を
if-nez v4, :cond_1に変更します。
(変更前)
次に#window:Landroid/view/Window;で検索します。
下にある
:cond_1を削除して、さらにもう少し下にある
.line (数字)を
:cond_2
.line (数字)にします。
:cond_1
(変更前)
ここまででVolumePanel.smaliの編集は終了です。
ここからは
smaliandroidiewVolumePanel$StreamResources.smali
を編集します。
まずconst v6, 0x10802で検索します。
このようにみつかるので(みつからなければconst v6で検索)
move v7, v2を
move v7, v11にします。
move v6, v13と検索し、その下にある
move v10, v2を
move v10, v11にします。
次にmove v6, v2、move v5, v14と検索しそれぞれmove v6, v13と同じように変更します。
その次はconst v9, 0x10802と検索します。
少し上にconst-string v4, "RingerStream"があることを確認し、
検索結果の下にある
move v10, v11を
move v10, v2にします。
最後に、move v7, v12で検索します。
move v10, v11を
move v10, v2にします。
これでVolumePanel$StreamResources.smaliの編集も完了です。
apktool.batのあるフォルダでコマンドプロンプトを開き、
apktool b framework.jar.outを実行しコンパイルして、
uildapkにできたclasses.dexをframework.jarに7zipなどで無圧縮で追加すれば完了です。
zipを作るなりして書き戻したあと再起動すると音量パネルに着信音量の他に
アラームと通知音量を変更出来るバーが追加されているはずです。
いちいちzipを作ってインストールするのは面倒だ、という人のためadbでできる方法を書いておきます。
adb shell su -c "busybox mount -o rw,remount /system"この方法の場合"stop zygote"→"start zygote"で再起動しているようなものなので後から再起動する必要がありません。
adb shell su -c "stop zygote"
adb push framework.jar /data/local/tmp
adb shell su -c "mv /data/local/tmp/framework.jar /data/local/tmp/framework.jar"
adb shell su -c "busybox cp -p /data/local/tmp/framework.jar /system/framework/framework.jar"
adb shell su -c "start zygote"
まずframework.jarをapktool.batのあるフォルダでコマンドプロンプトを開き、
smaliandroidiewVolumePanel.smali
を開きます。
Landroid/content/Context;->getResources()Landroid/content/res/Resources;で検索し、
(変更前)
iget-boolean v4, p0, Landroid/view/VolumePanel;->mVoiceCapable:Zで検索します。
その下にある
iget-boolean v4, p0, Landroid/view/VolumePanel;->mUseMasterVolume:Zで検索(というかすぐ下ですが)
その下にある
さらに少し下の
(変更前)
次に#window:Landroid/view/Window;で検索します。
下にある
(変更前)
ここまででVolumePanel.smaliの編集は終了です。
ここからは
smaliandroidiewVolumePanel$StreamResources.smali
を編集します。
まずconst v6, 0x10802で検索します。
このようにみつかるので(みつからなければconst v6で検索)
move v6, v13と検索し、その下にある
次にmove v6, v2、move v5, v14と検索しそれぞれmove v6, v13と同じように変更します。
その次はconst v9, 0x10802と検索します。
少し上にconst-string v4, "RingerStream"があることを確認し、
検索結果の下にある
最後に、move v7, v12で検索します。
これでVolumePanel$StreamResources.smaliの編集も完了です。
apktool.batのあるフォルダでコマンドプロンプトを開き、
uildapkにできたclasses.dexをframework.jarに7zipなどで無圧縮で追加すれば完了です。
zipを作るなりして書き戻したあと再起動すると音量パネルに着信音量の他に
アラームと通知音量を変更出来るバーが追加されているはずです。
いちいちzipを作ってインストールするのは面倒だ、という人のためadbでできる方法を書いておきます。
apktool d framework.jarとしてデコンパイルし、
smaliandroidiewVolumePanel.smali
を開きます。
Landroid/content/Context;->getResources()Landroid/content/res/Resources;で検索し、
invoke-virtual {p1}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;を削除して
move-result-object v4
invoke-virtual {v4, v8}, Landroid/content/res/Resources;->getBoolean(I)Z
move-result v4
const/4 v2, 0x0を追記します。
(変更前)
iget-boolean v4, p0, Landroid/view/VolumePanel;->mVoiceCapable:Zで検索します。
その下にある
if-nez v4, :cond_1を削除します。
iget-boolean v4, p0, Landroid/view/VolumePanel;->mUseMasterVolume:Zで検索(というかすぐ下ですが)
その下にある
if-nez v4, :cond_1を削除します。
さらに少し下の
iget-boolean v4, p0, Landroid/view/VolumePanel;->mShowCombinedVolumes:Zの下にある
if-nez v4, :cond_2を
if-nez v4, :cond_1に変更します。
(変更前)
次に#window:Landroid/view/Window;で検索します。
下にある
:cond_1を削除して、さらにもう少し下にある
.line (数字)を
:cond_2
.line (数字)にします。
:cond_1
(変更前)
ここまででVolumePanel.smaliの編集は終了です。
ここからは
smaliandroidiewVolumePanel$StreamResources.smali
を編集します。
まずconst v6, 0x10802で検索します。
このようにみつかるので(みつからなければconst v6で検索)
move v7, v2を
move v7, v11にします。
move v6, v13と検索し、その下にある
move v10, v2を
move v10, v11にします。
次にmove v6, v2、move v5, v14と検索しそれぞれmove v6, v13と同じように変更します。
その次はconst v9, 0x10802と検索します。
少し上にconst-string v4, "RingerStream"があることを確認し、
検索結果の下にある
move v10, v11を
move v10, v2にします。
最後に、move v7, v12で検索します。
move v10, v11を
move v10, v2にします。
これでVolumePanel$StreamResources.smaliの編集も完了です。
apktool.batのあるフォルダでコマンドプロンプトを開き、
apktool b framework.jar.outを実行しコンパイルして、
uildapkにできたclasses.dexをframework.jarに7zipなどで無圧縮で追加すれば完了です。
zipを作るなりして書き戻したあと再起動すると音量パネルに着信音量の他に
アラームと通知音量を変更出来るバーが追加されているはずです。
いちいちzipを作ってインストールするのは面倒だ、という人のためadbでできる方法を書いておきます。
adb shell su -c "busybox mount -o rw,remount /system"この方法の場合"stop zygote"→"start zygote"で再起動しているようなものなので後から再起動する必要がありません。
adb shell su -c "stop zygote"
adb push framework.jar /data/local/tmp
adb shell su -c "mv /data/local/tmp/framework.jar /data/local/tmp/framework.jar"
adb shell su -c "busybox cp -p /data/local/tmp/framework.jar /system/framework/framework.jar"
adb shell su -c "start zygote"