P-01DをAMAZONで検索(\4,900~・・・だったけど今高い(;´Д`)) |
夜中までかかって格闘して、なんとか成功しましたP-01DのSIMアンロック。
キーになったのは、2ch P-01D rootスレの下記投稿
【ROM焼き】docomo with series P-01D root1
http://anago.2ch.net/test/read.cgi/smartphone/1343620749/
606 名前:SIM無しさん 投稿日:2012/08/21(火) 00:06:23.07
SimLockDialog$4.smaliのStrings.equalsを呼んだ後の分岐をコメントアウト。
端末情報から適当な解除コードを入れても解除できた。
長さチェックは残すので、充分な長さは必要。
親切なことに、元々、ヒントになるログも吐いてくれるので参考になる。
解除コードの認証方法も、SimLockDialogを読めば分かるけど、
現実的な時間で解除コードを求める方法は分からず。
あと、アンロックした結果がどこに作用するか調べて、
直接そっちをイジれば簡単とも思ったが、よく分からなくなったので深追いしてない。
620 名前:615 投稿日:2012/08/21(火) 14:50:58.32
#if-eqz v14, :cond_4
じゃあだめでした
621 名前:SIM無しさん 投稿日:2012/08/21(火) 19:38:39.26
606サンクス。一応できたようだ
620の人は、そもそも解除コード入れてるかい?
624 名前:615 投稿日:2012/08/21(火) 20:54:44.67
>>621
>解除コード入れてるかい?
いつどこでいれるのでしょうか??
Photonの時は電源ONで入力画面になったんですが
630 名前:SIM無しさん 投稿日:2012/08/22(水) 03:52:43.43
>>624
これじゃねーの?
> 121 名前:SIM無しさん 投稿日:2012/02/02(木) 17:14:15.54
> ホーム → [MENU] → [設定] → 端末情報 → [MENU]押しながら[VOL-]
> で、SIMロック解除コードの入力画面が出る。
> SIMロック解除済みの場合、「SIMロック解除済みです」と出る。
>
>
> 123 名前:SIM無しさん 投稿日:2012/02/03(金) 00:31:31.78
> 要するに「端末情報」を表示した状態で、MENUキーとボリューム下げるボタンを同時に押すんでしょ?
> 俺のP-01Dは解除コードの入力画面出たよ。
> 何入力すればいいのかわからんけどw
http://anago.2ch.net/test/read.cgi/smartphone/1320986759/121-123
634 名前:615 投稿日:2012/08/22(水) 09:55:58.25
色々指導、助言ありがとうございました
V1.3.1でうまくいったようです
http://anago.2ch.net/test/read.cgi/smartphone/1343620749/
606 名前:SIM無しさん 投稿日:2012/08/21(火) 00:06:23.07
SimLockDialog$4.smaliのStrings.equalsを呼んだ後の分岐をコメントアウト。
端末情報から適当な解除コードを入れても解除できた。
長さチェックは残すので、充分な長さは必要。
親切なことに、元々、ヒントになるログも吐いてくれるので参考になる。
解除コードの認証方法も、SimLockDialogを読めば分かるけど、
現実的な時間で解除コードを求める方法は分からず。
あと、アンロックした結果がどこに作用するか調べて、
直接そっちをイジれば簡単とも思ったが、よく分からなくなったので深追いしてない。
620 名前:615 投稿日:2012/08/21(火) 14:50:58.32
#if-eqz v14, :cond_4
じゃあだめでした
621 名前:SIM無しさん 投稿日:2012/08/21(火) 19:38:39.26
606サンクス。一応できたようだ
620の人は、そもそも解除コード入れてるかい?
624 名前:615 投稿日:2012/08/21(火) 20:54:44.67
>>621
>解除コード入れてるかい?
いつどこでいれるのでしょうか??
Photonの時は電源ONで入力画面になったんですが
630 名前:SIM無しさん 投稿日:2012/08/22(水) 03:52:43.43
>>624
これじゃねーの?
> 121 名前:SIM無しさん 投稿日:2012/02/02(木) 17:14:15.54
> ホーム → [MENU] → [設定] → 端末情報 → [MENU]押しながら[VOL-]
> で、SIMロック解除コードの入力画面が出る。
> SIMロック解除済みの場合、「SIMロック解除済みです」と出る。
>
>
> 123 名前:SIM無しさん 投稿日:2012/02/03(金) 00:31:31.78
> 要するに「端末情報」を表示した状態で、MENUキーとボリューム下げるボタンを同時に押すんでしょ?
> 俺のP-01Dは解除コードの入力画面出たよ。
> 何入力すればいいのかわからんけどw
http://anago.2ch.net/test/read.cgi/smartphone/1320986759/121-123
634 名前:615 投稿日:2012/08/22(水) 09:55:58.25
色々指導、助言ありがとうございました
V1.3.1でうまくいったようです
2台目を買ったときのために、自分の作業メモとして残します。
正直、自分でも何がキーになって失敗/成功したのかよくわからないので・・・
もし試す場合は、
・P-01Dを文鎮化(壊す)させる可能性がある。
・不正競争防止法や電波法その他の法律に触れる可能性がある。
ことを理解されたうえで、すべて自己責任でどうぞ。
<作業の大きな流れ>
1.P-01DからSettings.apkとframework-res.apkをダウンロード
2.framework-res.apkからリソースインストール
3.Settings.apkをデコンパイルして、SimLockDialog$4.smaliを修正
4.Settings.apkをコンパイル
5.P-01Dに修正したSettings.apkをアップロード
6.解除コードを入力
やり方や使用ツールはいろいろあると思います。
ここに記載しているやり方は一例であって、唯一の正解ではありません。
当サイトでは、Windows7 Professional 64bitにて実行しました。
<用意するもの>
それぞれのインストール方法や使い方は、各自で調べてください。(Android SDK+JAVAはここがrootスレで紹介されていました。)
環境変数にJAVAへのパス通したのに、APK Tools起動時に「JAVA見つかりません」とか言われちゃう人は、Start.batの上のほうに直接、
とか入れておくのが手っ取り早い。
<順序>
(0)P-01DをUSBデバッグモードでPCにつなぐ。
(1)コマンドプロンプト起動して
「adb pull /system/app/Settings.apk」
「adb pull /system/framework/framework-res.apk」
実行し、P-01DのSettings.apkとframework-res.apkをダウンロードする。
(コマンドプロンプトのカレントフォルダに上記2ファイルがダウンロードされる)
(2)(1)のコマンドプロンプトで「apktool if framework-res.apk」実行し、リソースをインストールする。
(ユーザフォルダ下に1.apkが作成される)
(3)APK Toolsインストールフォルダ先の「編集前」フォルダに(1)のSettings.apkをコピーする。
(4)APK Toolsを起動(Start.bat)し、「2 [編集前]をデコンパイル」を実行する。
(APK Toolsインストールフォルダの「ソース」フォルダにSettings.apkというフォルダが作成され、その中にデコンパイルされたソースが作成される)
(5)「ソース」フォルダ内の「SimLockDialog$4.smali」というファイルを探す。
(6)SimLockDialog$4.smaliをテキストエディタで開き「if-eqz v14, :cond_4」という行をコメントアウトして保存する。
invoke-virtual {v14, v15}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v14
#if-eqz v14, :cond_4 ←この行をコメントアウト
「if-eqz v14, :cond_4」は2行あるようですが、2chで教えられたのはこの1行だけです。
(7)APK Toolsの「3 [ソース]をコンパイル」を実行する
(APK Toolsインストールフォルダ先の「編集後」フォルダにSettings.apkファイルが作成される。)
(8)adb shellでP-01Dにログインし、/systemをrwでリマウントする。
D:\users> adb shell
$ su
# mount -o rw,remount -t yaffs2 /dev/block/mtdblock1 /system
↑「mtdblock1」は、念のためmountコマンドで/systemがどこにマウントされているか確認してください。
↑↑また、/systemが最初からrwでマウントされているなら、(8)の作業は不要です。
#うちのP-01Dはなぜか/systemがrwでマウントされっぱなし。
#危険なのでそのうち調べて修正・・・
↑仕様だとかw
(9)adb shellで、オリジナルのSettings.apkをバックアップしておく。
D:\users> adb shell
$ su
# cp /system/app/Settings.apk /system/app/Settings.apk.org とか
やり方は何でもいいですけど、cpコマンドはbusyboxインストールしていないと使えないかも?
(10)adb pushコマンドで、/system/appにアップロードする。
直接アップロードできない場合が多いと思うので、まずSDカードなどに「adb push Settings.apk /sdcard」にアップロード後、adb shellで「cp /sdcard/Settings.apk /system/app/Settings.apk」でコピーするとうまくいくと思います。
(10.1)Settings.apkのパーミッションを644に変更する。
D:\users> adb shell chmod 644 /system/app/Settings.apk
コメントで項番つけて会話してるので、10.1になってますw
(11)adb rebootで再起動。
(12)P-01Dが再起動したら、「設定」⇒「端末情報」に入り、MENUキーとボリューム下げるボタンを同時に長押し、解除キーに適当な文字(数字24文字?)を入力して「OK」する。
(「SIMロックが解除されました」と表示されれば完了。)
ざっとこんな感じでした。
<困った点>
1.P-01DからSettings.apkとframework-res.apkをダウンロード
2.framework-res.apkからリソースインストール
3.Settings.apkをデコンパイルして、SimLockDialog$4.smaliを修正
4.Settings.apkをコンパイル
5.P-01Dに修正したSettings.apkをアップロード
6.解除コードを入力
やり方や使用ツールはいろいろあると思います。
ここに記載しているやり方は一例であって、唯一の正解ではありません。
当サイトでは、Windows7 Professional 64bitにて実行しました。
<用意するもの>
- P-01D(root化済み、Busybox導入済、バージョン0.68適用)
- P-01D用ADBドライバ [ここ]
- Android SDK(Platform-tools) [ここ]
- APK Tools [ここ] V1.3.1を使用
2012.9.3追記:V1.3.1が無くなっていて、V1.4しか入手できないようです。
1.4ではうまくいかないという報告もあるので、ご注意を。
- apktool
↑<APK Toolsインストールフォルダ>\toolsのapktool.jar・apktool.batをPATH通したフォルダにコピー。
もしくは、<APK Toolsインストールフォルダ>\toolsにパスを通してもいいと思う。
- JAVA [ここ] Jre6を使用
それぞれのインストール方法や使い方は、各自で調べてください。(Android SDK+JAVAはここがrootスレで紹介されていました。)
環境変数にJAVAへのパス通したのに、APK Tools起動時に「JAVA見つかりません」とか言われちゃう人は、Start.batの上のほうに直接、
SET PATH=%PATH%;C:\program files\JAVA\jre6\bin
とか入れておくのが手っ取り早い。
<順序>
(0)P-01DをUSBデバッグモードでPCにつなぐ。
(1)コマンドプロンプト起動して
「adb pull /system/app/Settings.apk」
「adb pull /system/framework/framework-res.apk」
実行し、P-01DのSettings.apkとframework-res.apkをダウンロードする。
(コマンドプロンプトのカレントフォルダに上記2ファイルがダウンロードされる)
(2)(1)のコマンドプロンプトで「apktool if framework-res.apk」実行し、リソースをインストールする。
(ユーザフォルダ下に1.apkが作成される)
(3)APK Toolsインストールフォルダ先の「編集前」フォルダに(1)のSettings.apkをコピーする。
(4)APK Toolsを起動(Start.bat)し、「2 [編集前]をデコンパイル」を実行する。
(APK Toolsインストールフォルダの「ソース」フォルダにSettings.apkというフォルダが作成され、その中にデコンパイルされたソースが作成される)
(5)「ソース」フォルダ内の「SimLockDialog$4.smali」というファイルを探す。
(6)SimLockDialog$4.smaliをテキストエディタで開き「if-eqz v14, :cond_4」という行をコメントアウトして保存する。
invoke-virtual {v14, v15}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v14
#if-eqz v14, :cond_4 ←この行をコメントアウト
「if-eqz v14, :cond_4」は2行あるようですが、2chで教えられたのはこの1行だけです。
(7)APK Toolsの「3 [ソース]をコンパイル」を実行する
(APK Toolsインストールフォルダ先の「編集後」フォルダにSettings.apkファイルが作成される。)
(8)adb shellでP-01Dにログインし、/systemをrwでリマウントする。
D:\users> adb shell
$ su
# mount -o rw,remount -t yaffs2 /dev/block/mtdblock1 /system
↑「mtdblock1」は、念のためmountコマンドで/systemがどこにマウントされているか確認してください。
↑↑また、/systemが最初からrwでマウントされているなら、(8)の作業は不要です。
#危険なのでそのうち調べて修正・・・
↑仕様だとかw
(9)adb shellで、オリジナルのSettings.apkをバックアップしておく。
D:\users> adb shell
$ su
# cp /system/app/Settings.apk /system/app/Settings.apk.org とか
やり方は何でもいいですけど、cpコマンドはbusyboxインストールしていないと使えないかも?
(10)adb pushコマンドで、/system/appにアップロードする。
直接アップロードできない場合が多いと思うので、まずSDカードなどに「adb push Settings.apk /sdcard」にアップロード後、adb shellで「cp /sdcard/Settings.apk /system/app/Settings.apk」でコピーするとうまくいくと思います。
(10.1)Settings.apkのパーミッションを644に変更する。
D:\users> adb shell chmod 644 /system/app/Settings.apk
コメントで項番つけて会話してるので、10.1になってますw
(11)adb rebootで再起動。
(12)P-01Dが再起動したら、「設定」⇒「端末情報」に入り、MENUキーとボリューム下げるボタンを同時に長押し、解除キーに適当な文字(数字24文字?)を入力して「OK」する。
(「SIMロックが解除されました」と表示されれば完了。)
ざっとこんな感じでした。
<困った点>
- framework-res.apkからリソースダウンロード(apktool if)を忘れると、コンパイルで失敗する場合があります。
コンパイルが通っても容量の少ないapkファイルが出来たりするかも。
(容量少なくてもOKという投稿も2chで見ましたが)
できたSettings.apkにresource.arscファイル入っていればOKかな?
- 最初はAPK Toolsを使わず、apktool単体でapktool bコマンドを使ってコンパイルしていましたが、Settings.apkを作るときに7-zipでAndroidManifest.xml、classes.dex、resources.arscを再圧縮かけて前のapkファイルに上書きする作業がどうも怪しくて、結局APK Toolsでデコンパイル、コンパイルするようにしました。
- APK Toolsのアップロードは失敗したので、手動でadb pushしています。
うまくいく人は、そのままAPK Toolsでいいと思います。
- 解除キーは、何桁が正解なのかよくわかりません。適当に入力したので・・・w
たぶん、よく知っている人がやればもっと簡単な手順でやれると思います。
(1)(2)(3)(8)(10)あたりは、adbやapktoolコマンドを使わなくてもAPK Toolsだけで完結する気がする。
(12)で何度も失敗し、そのたびにコンパイル・アップロードを繰り返しましたが、正直何が問題で失敗していたのかよくわかりません。
最初に、APK Tools同梱のapktoolとは異なるバージョンのapktoolで(2)のリソースダウンロードをしていたのが問題だったのかも。
ちなみにSettings.apkを壊してしまっても「設定」が出なくなるだけなので、オリジナルのapkファイルをバックアップしておけば、致命的な状況になるケースは少ないと思います。
しかしながら、ロック解除すると、再びロックする方法は不明です(Settings.apkを戻してもロックフリー状態)。
そういうわけで、これを実行することで、P-01DがSIMフリーとなり、ソフトバンクSIMや海外SIMを使えるようになります。
残念ながら3G 900MHzには対応していないので、プラチナバンドでは使えません。
次は、ソフトバンクMMSを受信できるようにしてみたいと思います。
(また時間のあるときに・・・w)
なお、パケ放題契約をしていないSIMをスマホに刺すと、パケ死(パケット代で死亡)する可能性もありますので、くれぐれもご注意を。
2chの先人や、ツール開発者の皆様に感謝!
[ P-01DのSIMロック解除(8/23) ][ Panasonic P-01D入手(7/29) ]
参考になります。
自分も、デコンパイルはしてみたんですが、このファイルからのリコンパイルは、「ファイルをかえると無理かな?」と思い、しませんでした。
テザリングでも、にたようなことができるかもしれませんので、とらいしてみようとおもいます。
自分の日記にこの記事をリンクしました。
よろしくです。
解除キーを数字で打ち込むところと、コメントアウトする行は1行であることを書こうと思ったんですが、プロバイダ規制されてたw
こんばんわ!
すみません、WordpressのAkismetが勝手にへたれ様のコメントをスパム認定して投稿停止させてました(汗)
今管理画面みて気づきました、ゴメンナサイ。
(投稿ひとつカブってたので削除しました。)
リンクありがとうございます。
なるほど、スラッシュドットのあの記事は、へたれ様のなのですね。
テザリングもいけますかねー。
ソースコード追っかけるのは自分にはハードル高いので、皆様の知識をもとにヒトバシラーするだけなんですが^^;
また面白そうな情報が出てきたらトライしようと思います。
今後ともよろしくお願いします^^
このページの情報が非常に参考になり、すんなりできました
感謝です。
何点か修正がありますのでご報告します
■本文中「(10)adb putコマンドで」はpushですね(^^)
■framework-res.apkのディレクトリが以下でした。僕の端末だけかも
/system/framework/framework-res.apk
findもないのでlsしまくりました
■シェルにcpコマンドがなかったので以下で対応
cat /mnt/sdcard/Settings.apk > /system/app/Settings.apk
最初はmvでやってましたがSDカードから本体へはmvできませんでした
■ちなみに当方0.65です
■僕の端末も/systemはrwでマウントされてました
これ対処が必要なら教えてください
なお、超素人なのでまちがい、勘違いがあるかも
僕より素人な人へ
adb shell で$がでたらsuをタイプしましょう
ご指摘の件ありがとうございます。
putコマンド⇒ひどい間違いw 直しました。
framework-res.apk⇒ディレクトリ/frameworkを書き忘れていましたので直しました。
cpコマンド、findコマンド⇒BusyBoxインストールされていますか?
/systemがrw⇒悪影響があるのかどうかわからない。
roでremountしましたが、再起動したらrwになるかも。
suかぁ・・・確かに普通は知らないか(汗)
BusyBoxは知らなかった素人です
lsも今思えばワイルドカード使えば簡単だったかな・・。
mvもオプションで行けたはず・・シェルの基本を忘れてます(^^;)
いずれにせよこのページは神です
クズスマホがPHOTONのように高騰する予感(^^;)
手動でroot化している場合、入ってないことはあると思いますね。
前提条件に書き加えておきました。
しかし、lsコマンドは、ls -laとか-ltrオプションきかないのが不思議。
ls -lは出来るんですが。
PHOTONって、フリー化するとAU、DOCOMO両方で使えるアレですか?
会社の知人がそれ持ってますねぇ。
安く買う手段が無いので手は出していませんがw
素の状態だと
—-rwxr-x root root 4749702 2012-08-27 08:46 Settings.apk
です
PHOTONはMNP一括ゼロ円、キャッシュバックが3-6万円もらえて
端末自体は12500円で買取業者が買い取ってくれます
2台同時MNPだと割増あり。2台MNPして一台売却。
なお、MNPするために日本通信使うとイイです特に月末前8日あれば完璧
※昨日、P-01DのMNP一括ゼロ円、即日キャッシュバック35Kでもう一台貰って来ました。
特にSIMロックがかかったり不安定な挙動になることはないようです。
素の状態、所有者に権限が与えられていないのはなぜでしょうね。
> MNPするために日本通信使うとイイです特に月末前8日あれば完璧
これって、音声通信を追加して、解約するってことですかね?
DTIがメインなのでイオンSIM余ってますが・・・
> 昨日、P-01DのMNP一括ゼロ円、即日キャッシュバック35Kでもう一台貰って来ました。
うはwww
その後ですが、テザリングをアプリなしでできないかSettings.dbあたりをsqlite3で適当にいじってたりしたらDocomoロゴ無限ループに陥りました。
CWMでリカバって事なきを得ましたが、それ以降ちょっと仕事も忙しくなって、特に手をつけてない状態です^^;
javaソースまで行って比較すれば、確かに差分は取れそう。
時間取れたら試してみたいなぁ。
> P-01Dはrootを使うかどうかで評価が2極分化する
まさにその通りですね。
安いからって機種変して、そのまま普通にメインで使おうとしている人には、ちょっと厳しいというか、評価最低だと思いますw
書き換えるのは3か所で、2か所は、亡霊の混入を防ぐために強制的にリターンするもの、1か所は、APN切り替え部分をよびだすところをコメントアウトするものです。
これで、アプリなしテザリングができます。ここの記事に追記する方法もよいかも。
アプリなしテザリングOKですか。
またひとつ伝説が追加されましたねw
記事拝見しましたが、なるほどAPNが消えてしまう問題も解決されたようで何よりです。
週末にでも試してみようと思います。
> (12)での問題は、Settings.apkのアクセス権の関係ではないでしょうか。
なるほど。
一応chmod 644を追記しておこうかな?
デフォルトでは、Settings.apkのアクセス権は—rw-r–とかなってたような覚えが。
ここに記載されているAPKのデコンパイルと再コンパイルの手順がとても参考になりました。これがなかったら、できてなかったと思います。ありがとうございます。
しかし、ドキュメントを書いて、初めて伝説になると思います。ですので、これからドキュメント書きですね。あと、(12)の話は、 はるぱぁみゅ さんもかいてましたね。
さらにP-01D2台機種変0円しました。
ヤマダに在庫があれば、機種変30kポイント付きだったんだけど
3店回って在庫なしでDSで貰って来ました。
実は、もう一台ほしかったりしますが、いかんせん、関東と違って安く入手できないんですよね。
3000円くらいで入手できれば、もういっこほしいです。誰か代行して~ とおもったりします。
ドキュメント下記も大変です。
0.62いけたみたいですね。
スレでは、0.68は0.62に比べて簡単なような記述がありましたが、よくわかっていませんw
伝説のドキュメント、90%状態は拝見しました。
あと10%がんばってください^^
>はるぱぁみゅ 様
神とは、最初に手順を発見された方です。
自分はただの物書きですからw
2台機種変ですか。
増えますねぇ、でも価格に対してやれることの楽しさがすばらしい機種です。
NECが、MEDIASのSIMフリ機種をイオン販売するらしいですが、いじれる人ならP-01Dのが楽しいw
別のプラグイン試そうかな。
> 2chのQAてざりんぐのひと 様
rootスレで、0.68 Settings.apk上げられてたみたいですが、入手されました?
まだでしたら提供しますが・・・
0.68は確かにかなり異なっているようです。
3000円なら俺も欲しいw
でも今は5000円がラインですねぇ。
>アム 様
今サイト見てきたら、1.4しかダウンロードできないようですねぇ。
1.3.1リンク切ってしまわれたかな?
自分試してないので、いいアドバイスできないんですが、1.4ではうまくいきませんか?
コンパイル、転送まではできているのですが、adbrebootで再起動後、設定が起動できなくなります…
あと、1.4でコンパイルの後は署名?という操作が必要のようです…
記事に書いてあることと異なっている部分はありますか?
Settings.apkはシステムアプリなので、署名はいらないはずです。
APKTools使用中は、DOS窓の背景は黄色になっていましたか?
(黄色になっていない場合、APKToolsが読んでいるファイルを正しく認識できていない可能性あり。)
全ては私の勘違いです。基本的には上記のように行っていたのですが、
間違えて、作業中にSettings.apkを消してしまい、オリジナルのSettings.apk選択してインストールしたせいで、”/data/app”にリンクを書き換えてしまい、いくら”system/app”をいじっても解除できなかったのです。
あと、今帰ってきてAPKtoolを起動させてみたら、4番目の選択肢『署名』が消えてしまってます…
昨日は”3ソースをコンパイル”の後、”未署名Settings.apk”ができていたのです。
これをそのまま”未署名”を消してアップロードしたら設定が起動できなくなったのです。
いやいや、結果オーライですね。
1.4でもうまくいくという情報が得られただけで十分ですよw
ありがとうございました。
0.68の場合は、がんばってデコンパイルしてやらなくても、安定してアプリでテザリングできる、ってことですかね?
やはりアップデートしてからroot化やら何やらするのが、今の状態ではベストのようですねー。
うぬ、テザリングは今のところあまりやる必要性が無いので放置状態ですが・・・
やはりここはソースからいじってやってしまいたい←
デコンパイル、ソース書き換えまではできたのですが、
コンパイルを実行するとエラーが出てしまいます。
javaが7だったので、6にしてみたり、
デコンパイル後、ソースをいじらずにコンパイルしようとしても
エラーがでます。
やはり1.4.0以降ではできないのでしょうか?
どなたか他に原因に心あたりある方はいませんでしょうか?
(ユーザー名のところだけ、変えてあります。)
Android Debug Bridge version 1.0.29
java version “1.6.0_35”
Java(TM) SE Runtime Environment (build 1.6.0_35-b10)
Java HotSpot(TM) Client VM (build 20.10-b01, mixed mode, sharing)
I: Checking whether sources has changed…
I: Smaling…
I: Checking whether resources has changed…
I: Building resources…
Exception in thread “main” brut.androlib.AndrolibException: brut.common.BrutException: could not exec command: [aapt, p, -F, Z:\TEMP\APKTOOL2136232798143848400.tmp, -I, C:\Documents and Settings\ユーザー名\apktool\framework\1.apk, -S, C:\APKTools\ソース\Settings.apk\res, -M, C:\APKTools\ソース\Settings.apk\AndroidManifest.xml]
at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.java:251)
at brut.androlib.Androlib.buildResourcesFull(Androlib.java:324)
at brut.androlib.Androlib.buildResources(Androlib.java:269)
at brut.androlib.Androlib.build(Androlib.java:192)
at brut.androlib.Androlib.build(Androlib.java:174)
at brut.apktool.Main.cmdBuild(Main.java:185)
at brut.apktool.Main.main(Main.java:70)
Caused by: brut.common.BrutException: could not exec command: [aapt, p, -F, Z:\TEMP\APKTOOL2136232798143848400.tmp, -I, C:\Documents and Settings\ユーザー名\apktool\framework\1.apk, -S, C:\APKTools\ソース\Settings.apk\res, -M, C:\APKTools\ソース\Settings.apk\AndroidManifest.xml]
at brut.util.OS.exec(OS.java:87)
at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.java:249)
… 6 more
Caused by: java.io.IOException: Cannot run program “aapt”: CreateProcess error=2, ?w?????t?@?
at java.lang.ProcessBuilder.start(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at brut.util.OS.exec(OS.java:78)
… 7 more
Caused by: java.io.IOException: CreateProcess error=2, ?w?????t?@?
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.(Unknown Source)
at java.lang.ProcessImpl.start(Unknown Source)
… 11 more
java等まったく詳しくないので、エラー内容がわからないです;;
ってありますね。
Android-SDKのplatform-toolsかtoolsのフォルダの中に、aapt.exeってあります?
rootkitからそのまま順番にやってたので、
ADK関係もまとまってるものだと思ってました;;
(rootkitが親切すぎるだけですね;;)
そのファイル探してできるかやってみます。
ありがとうございました。
aaptは、Android-SDKセットアップ時のPlatform-toolsでインストールされるような。(うろ覚え)
http://d.hatena.ne.jp/shokai/20110201/1296540201
↑参考になりますかな?
とりあえずコンパイルではエラーでなくなりましたTT
ソース書き換えたやつ消しちゃったんで、
書き換えなおしてやってみます。
無事完了することができました。
半日の苦労が報われました。
遅い時間にもかかわらず、お付き合いいただき、
どうもありがとうございました。
> 教材? でしょうか。
うむ、まさに教材ですね。
これを踏み台に、詳しい人が増えていってほしいモンです。
今日予約開始のiPhone5に食指動いてたんですが、パケホ代が1000円上がるらしいので、躊躇しました。
AUに移行して、AUスマートバリューで1,480円引いてもらうほうがいいかもw
でも今のMMSアドレス変えたくないな~というのもあって・・・w
結局iPhone4であんまり困ってないってのもあるんですが、月月割がないと何か損してる気がしてw
機内モード(電源ボタン長押ししたときの)って、
機内モードOFFで電波遮断(飛行機アイコン出)、
機内モードONで通常状態(飛行機アイコン消)ですか?
なにか、ON、OFFの表示が逆な気がするんですが。
どうなんでしょう、あまりちゃんと見てなかった。
確認してみますね。
>phanklen様
2chでやり方とは?
本文を読んでわからないところがあればそれを書いてください。
>Mizan様
phanklen様と同じ方かどうかわかりませんが・・・
P-01DのSIMロック解除コードは、DOCOMOショップへ持っていってお金を払えばもらえます。
自分でのロック解除方法は、上に書いてあるとおりです。
自分で解除する場合、決まった解除コードはありません(数字24桁なら何でもよいらしい)。
本文を読んでわからないところがあればそれを書いてください。
よろしくお願いします。
> で、SIMロック解除コードの入力画面が出る。
> SIMロック解除済みの場合、「SIMロック解除済みです」と出る。
その後、認証コードをどこから探しますか?教えてください。
宜しくお願いします。
しかしながら、settings.apkの改造をしない限り、SIMロックはDocomoショップでしか解除できません。
改造しない状態での認証コードは、ショップ以外誰も知りません。
改造できない・仕方がわからないなら、あきらめてお金を払ってショップで解除してもらってください。
認証コードについての質問はこれ以上お答えいたしかねますので、ご了承くださいませ。
自分は、P-01D以外のandroid機種を持っていないので他のはわからないですが、
自分の所持しているP-01Dでは
マナーモードの場合は電源長押しメニュー表示が、
サウンドONの時にタップするとマナーモードに移行するのに、
機内モードの場合は電源長押しメニュー表示が、
機内モードOFFの時にタップすると機内モードに移行するので、
元々おかしいのか、改変したせいでおかしくなったのか・・・
自分の考え方だと、
表示が機内モードONの時にタップすると機内モードへ移行するのが正しいとは思うのですが。。。
マナーモードの方はそうなってますし・・・
P2にある「電源を切る」のスクショを拡大してください。
・・・おわかりいただけただろうか?(ぉぃw
3Gアイコンが出ている画面での「機内モード」は「機内モードOFF」となっています。
自分のP-01Dも、この説明書やコンパイルできません;;様と同様の挙動です。
ということで、この表記は仕様です。
で、さらに踏み込んで考えてみましたが。
「マナーモードではないとき」
「電源を長押しすると」
「サウンドONと表示される。」
「機内モードではないとき」
「電源を長押しすると」
「機内モードOFFと表示される」
つまり、このONとOFFの表記は、現在の端末の状態を示しているのではないかと。
・サウンドON⇒マナーモードOFF状態である
・機内モードOFF⇒機内モードOFF状態である
まあ、混乱を避けるなら、マナーモードOFFのときは「サウンドON」ではなく「マナーモードOFF」と書いておくべきですね。
OFFとONをマナーモードと機内モードでそれぞれ表記を変えているのが混乱のもとだと思います。
そういう考え方ならば、表示に間違いは無いようですね。
自分は、サウンドの部分をマナーモードと勝手に解釈していた為、
おかしく感じただけのようですね;;
お手数をおかけしました。
情報どうもありがとう。
細かい点ですが、「adb push Settings.apk /sdcard」では成功出来なく、、「adb push Settings.apk /sdcard/」で成功しました。
これで、海外でも使用できます。
感謝致します。
デコンパイル→コメントアウト→コンパイル→本体にコピーで設定が開かなくなります。
また、デコンパイル→コンパイル→本体にコピーでも同様に設定が開きません。
ソースの修正をしてもしなくてもコンパイル後のSettings.apk のサイズは4469KB になります。
このサイズになる時点で動かなくなる気がするのでjavaのバージョンを変えてみたり
しているのですが、全く解決できません。
APLTool v1.4.2 を使っています。
最初の方でApktoolをノーマルモードでやってたのが原因で本体側になんらかの更新が
されてしまっているのでしょうか?
原因など何かわかるでしょうか? よろしくお願いします。
お役に立てて幸いです。
/sdcard/ですか・・・
adbのバージョンとかで挙動が違うのかな?
情報ありがとうございます。
> エヌさま
うーむ、情報が少なくてピンポイントなアドバイスが難しいですが・・・
オリジナルのSettings.apkは残ってますよね。
「apktool if framework-res.apk」は実施してます?
コンパイル時、DOS窓の背景は黄色になっています?
Settings.apkは、ちゃんとアップロード(反映)されてます?
その辺を教えてください。
あと、上の記事とは異なる環境・作業があれば、それも教えてください。
返信ありがとうございます。
オリジナルの Settings.apk は残っています。
これを、本来に戻せば問題なく動くようになります。
ソースを編集(してもしなくても)コンパイルしたSettings.apk を本体に入れると
設定が開かなくなってしまいます。
>「apktool if framework-res.apk」は実施してます?
はい、実施しています。 1.apk が作られているのを確認しています。
>コンパイル時、DOS窓の背景は黄色になっています?
はい、実行後、modと入力してシステムモードに変更して黄色になっています。
ただ、ここでちょっと気になるのが、スタートメニューからコマンドラインを
開き、start と入力すると別のコマンドラインが開きます。
その新しいコマンドラインで starts と入力してツールメニューを開いています。
Settings.apkは、ちゃんとアップロード(反映)されてます?
はい、cpコマンドでコピー、lsで確認しています。
自分では原因はSettings.apk が正しくコンパイルされていないのでは?
と考えています。
java は jre6、jre7両方とも試してみました。
現在は、jre7で、パスはjre7、jdk〜 に通しています。
手順で違うところと言えば、sdカードにコピーするときに
usbストレージで直接、Settings.apk をコピーした後に
cpコマンドで/system/app/ にアップロードしています。
よろしくお願いします。
APK Toolsの更新履歴を見てちょっと気になったのが、1.4から新しく導入された「圧縮」の部分。
apkの内部にあるファイルは、フォーマットによって圧縮率が変わっているようなので、
一律で圧縮をかけているとすると、何かエラーが起きたりする可能性もあるのかな?とか
思ったりします。
コンパイル時のログも、あわせて確認してみてはいかがでしょう?
何かエラーメッセージが出ているかも。
> 開き、start と入力すると別のコマンドラインが開きます。
> その新しいコマンドラインで starts と入力してツールメニューを開いています。
DOSのコマンドに「start」があるので、「start.bat」と省略せずに打ち込むのがいいかと。
APK Toolsではなく、APK Multi-toolを使うという手もあります。
自分は使ったことが無いのでなんとも言えませんが、apktoolのバージョンによりエラーが起きているのであれば、
違うバージョンのapktoolsで試すという意味合いもあります。
うーん、イマイチ役に立ててませんな;;
APK Multi Tools をダウンロードして作業を継続していますが、
なかなかうまく行きません・・・。
どうしても、修正が反映されると設定が開かなくなってしまうイメージです。
それでも、マルチを使って自分なりにかなり近づいた感じがします。
アドバイスありがとうございました。
もうちょっと、あきらめずに挑戦してみようかと思います。
(他のpcで環境作ってやった方がいいような気も・・)
ちなみに、最終、settings.apk のサイズってどれくらいになったでしょうか?
ネットでいろいろ調べてみたところサイズが違うような気がして・・・
多分問題無いとは思いますが、一応念の為、
ユーザー名やフォルダ名に2バイト文字(日本語名等)使ってたりしませんか?
(海外製ソフトに不具合が出やすい)
javaのパスはjavaフォルダ内のbinフォルダに通していますか?
(jre~って書いてあるので一応 例:C:\program files\JAVA\jre6\bin
)
自分がやったやり方だと
windowsxpでjreは6でも7でもできました。
APKTOOLS1.42で
start.batはダブルクリックで開く(この方が楽かと)、
編集前フォルダができるので、そこに改変前settings.apkをコピー(すでにバックアップがあるようなので)
8「選択アプリ」セットでsettings.apk選択(自動でシステム認識されるので、ここで窓が黄色になる)
圧縮レベルは0の無圧縮に(自分はどこかでapkは無圧縮zip的なことを見たのでなんとなく)
あとはデコンパイル、ソース改変、コンパイルしてsettings.apkを端末に戻す(パーミッションも)。
それでもできなければ、
あとは、APKTools.logの中身を貼り付けて助けを請う(自分はそれでKEI様に助けられました(笑))
ちなみに自分のsettings.apkは4,923,068バイト(元より大きくなってます)ですね
Multi-Tool の方で色々試しても結局駄目で
(コンパイル後のapkを再度デコンパイルすると修正が入っていない)
APKTool1.42に戻ってきました。
すると、某掲示板に成功した!って書いてあるサイズと同じになりました。(4639KB)
ですが、それを本体にアップロードすると・・やっぱり設定が開かない。
オリジナルのapk に1行だけコメントを入れた改変apk を作っているはずが
設定の起動に関連する部分が変更されてしまっているようなイメージです。
なんとかしたいです (笑
散々やってみた結果、別のpcでトライしてみたところ
何の問題もなくあっさりと解除できました!
ありがとうございます!!
自分のpcもしくは環境の問題だったと思います。
色々、アドバイスありがとうございました。
また、なにかありましたらよろしくお願いします。
>エヌ様
すみません、しばし放置してました;;
無事ロック解除できたようで、おめでとうございます。
あんまりお役に立てずすみません。
P-01Dライフ楽しんでください。
>テザリングできません;;様
自分のいない間のアドバイスありがとうございました。
コンパイルは意外と微細な環境の違いでうまくいったりいかなかったりするんですかね。
難しいもんだ・・・
はい、ありがとうございます。
初めのPCでうまく行かなかった原因なんですが、
どうやら、SDKをインストールした時のjavaと
コンパイルをする時のjavaのバージョンが違っていた
のが原因かと思います。
sdkの時はリンク先の指示に従い、最新バージョンで
解除作業はjre6で行っていたのだと思われます。
パスの指定など何度も変更して同じ組み合わせで実行した事も
あったかと思われるのですが、
SDKを一度、アンインストールして再度試してみたところ
最初のPCでもうまく行く事が確認できました。
と、いう訳でjavaのバージョンによる環境ミスと言う事で
納得する事にしました。
一応、報告まで。
大変、お世話になりました。
現在は、APK toolsも落ちてないようで、APK-Multi-Toolv1.0.11を使いました。
しかし、最新のapktool1.5.2では、うまくコンパイル出来ないようで、成功例に近いapktool1.4.3でコンパイルは成功したものの、何か足りないようで悩んでいましたが、classes.dexをアペンドして、うまく行ったようです。
APK Toolsのバージョンによって挙動が変わってしまうので、なかなか気難しい処理ですね。
(まあコンパイラによるわけですから、仕方ないのかもしれませんが。)
keepフォルダから明示的に削除するファイル
1)xmlを弄ったとき resources.arsc
2)javaソースを弄ったとき classes.dex <== これが書かれていない
環境によっては 2)は飛ばしてもOKのようですが、やった方が確実です。
確かにJavaいじったら、Classes.dexも削除して作り直しですね。
コメントありがとうございます^^;