(02.06)低調講講我自己的反組譯與組譯apk的小小實作經驗談...(0830)結束本帖,不再更新

----------------------------------
2013(0402)又被惡整到,此帖沒辦法再更新
因為站方仍深陷在版規機制的被錯用,我又被惡整到停權60天

我還是留了「將danieliememe帳號停權60天,無所謂,希望01站方能更鐵腕處理刻意亂版的id」提醒站方...但,畢竟作繭自縛的窘境,一時半刻依然是無解的

...如今的01已經被這群偽裝支持hTC的假義和團給攻佔了,參照過去2012年的市場競爭態勢,已經證實了我之前2012年的觀察
而2013年情況看來是更不樂觀,誠如我之前2012年一貫的觀察與走勢,這些號稱支持hTC的作為除了被有心人士操弄而間接壯大了他們的幕後支持者之市佔率以外,也是讓hTC距離前三大、甚至前十大,比2011年時,還更為遙遠...
一起流淚吧,真心支持hTC的網友們

所以我無法回覆各位提問,請其他熱心網友幫忙吧

在這樣的情勢,本帖也有可能會被站方刪除
有需要的,請自求多福吧

註:要找我的,可以先至這裡

-------------------------------
=======================================
(0830)結束本帖,不再更新
=======================================
(02.06)低調講講我自己的反組譯與組譯apk的小小實作經驗談
---------------------------------------------
我不是寫程式的,在買i9000之前也不懂Android或java,算是誤打誤撞來弄這些小技巧,對於專業寫程式的高手而言,著實是班門弄斧、貽笑大方。
以下只是我自己經過實作的一些小小經驗談,太深的、專業的我可不懂,請高手們高抬貴手。
接下來只是簡單講一講我自己最近在處理的幾個apk之實作經驗與記錄,並不是要做什麼入門學習的教程。請各位看看就好,我可沒本事教授什麼正規的反組譯或組譯之類的技巧。
---------------------------------------------
<我自己的反組譯與組譯frameswork-res.apk步驟>
- 之前一開始在處理[魚與熊掌兼得][升級到2.3薑餅人界面-Final version]時,遇到frameswork-res.apk沒有繁體中文鏡面解鎖,很困擾。
- 所以本來想說像是搞美化的方式,簡單替換一下,就能解決...沒想到,事情不是這麼簡單(其實弄懂了,也沒怎麼困難的)
- 當時參考了網路上許多高手的方法,也向M大請教過,但無奈資質愚昧,總是弄不懂。也漸漸對Android系統有了比以前清楚的理解(其實現在還是一知半解)
- 後來終於找到方法解決,也就有了一系列的[魚與熊掌兼得][升級到2.3薑餅人界面-Final version]
- 以下是我自己的解決frameswork-res.apk步驟:
1.反組譯frameswork-res.apk
我是使用apk manager
(註:有玩過反組譯與組譯的人,知道怎麼去找這軟體,我就不多作介紹,請自行處理囉)
- 將frameswork-res.apk檔案放在\place-apk-here-for-modding\裡
- 開啟apk manager,按下22,選擇要反組譯的檔案
- 按下9,進行反組譯
2.重新組譯frameswork-res.apk
- 完成編輯之後,按下11進行組譯時
- 接下來的兩次y/n都按y(而不是按n)
- 並且在[按任意鍵繼續]前,進入目錄:/keep/裡,刪除 resources.arsc(前提是有更動到value)之後
- 因為刪除了其他語系xml,所以要同樣刪除舊的xml文件
- 再按下[按任意鍵繼續]完成整個組譯
- 打包完成後的unsigned..apk裡,將/res複製過去,並記得刪除重複的drawable-en-hdpi-v4等等有-v4,保留drawable-en-hdpi等等
- 同時將unsigned..apk裡的resources.arsc複製過去,如此一來就全部ok了!!
3.至於美化圖示之類,其實也是有次向M大請教時,受了M大的指點而領悟了,也認識了原來Android還有更深的學問。

註:有完成重新組譯後的resources.arsc檔案,對apk能否正常執行很重要
-----------------------------------------
<我自己的反組譯與組譯settings.apk步驟>
- 之前在處理Darky's 9.02/9.1會反組譯失敗的原因,是沒有將一起搭配的framework考慮進去。
- 其實涉及到系統架構的,都需要這樣的步驟。
- 在這裡使用的工具是apktool
(註:有玩過反組譯與組譯的人,知道怎麼去找這軟體,我就不多作介紹,請自行處理囉)
- 以下是我自己的解決settings.apk步驟:
1.將apktool及所需的相關檔案複製到同一目錄,包括adb指令等等
2.先將framework-res &twframework-res 複製到前述的同一目錄裡
->先反組譯framework-res成為<1.apk>
指令:apktool if framework-res.apk
3.再反組譯twframework-res成為<2.apk>
指令:apktool if twframework-res.apk
4.然後再反組譯settings.apk,因為沒有給
指令:apktool d settings.apk
(註:d是dump的意思,別問我更多的指令怎麼用,請自行處理囉)
5.接著編譯完之後,再組譯回去時,只要這個指令,就產生<組譯完成的Settings.apk>
指令:apktool b settings settings.apk
註:這指令會自動檢查resources如有改變時,將重新編譯新的resources.arsc
6.因為做完之後的apk檔案,會缺了簽證[META-INF]
- 這時候就需要將<原始的Settings.apk>,改成<原始的Settings.rar>,打開後
- 同時也將剛<組譯完成的Settings.apk>打開,複製/res以及resources.arsc至<原始的Settings.rar>
- 完成複製後,關閉原始的Settings.rar,重新改名為Settings.apk,即大功告成
-----------------------------------------
但是,凡事...都會有例外發生的時候
- 在處理Darky's 8.0~9.2時,上述步驟雖然都可以完成,卻會發生Wifi及藍牙在設定時會出現FC現象
- 這時候在第6步驟時,僅複製resources.arsc,而不要複製/res目錄進去,就會成功。
-----------------------------------------
<小小心得>
- 自從這樣淺嚐了一下Android系統之後,對於Android系統之所以效能勝過其他系統,有了更進一步的認識與瞭解,會在日後花一點時間稍微整理一下。
- 上述步驟是屬於實作的紀錄,如果看不是很懂的話,請實際作個幾遍之後,再看一次就會理解。沒有實作過,要能提出什麼較有深度的問題大家集思廣益,我想也是有困難。
- 話說回來,如果不敢嘗試需要鼓勵的話,請自行處理,別來問我。因為我是不鼓勵在沒有充分準備的前提下,惡搞自己手機後再來求救。
=======================================
danieliememe 大大不用這麼低調啦

這裡面有許多我都可以去參考的地方
不然我都找不到入門的點

我也想試著去打造出屬於我自己的I9000
實在非常期待你這篇文章,全部收下了,慢慢咀嚼,獲益良多
我的兩部I9000也正在使用你的藍色薑餅人,
感激不盡
D大,你好,有事相求,懇請指點迷津,小弟先前將七吋的系統譯成中文後,大致上勉強還可以,可是卻出了一個重大的問題-Email.apk.
Email.apk譯成中文後,雖然能啟動,卻不能更新郵件,又經常導致其他軟件不協調,如相機.我將英文版本的Email.apk換回去後,即可正常更新郵件,跟著在沒有rm email.apk的情況下,再將中文版本的Email.apk cp回去,這時中文介面的也可正常收發郵件,但如新增帳戶後,只有在英文版時候加入的帳戶才能正常運作,在轉回中文後新增的帳戶卻無法更新,好像譯成中文後,還欠缺了什麼元件,雖然沒有FC,但其實是不能運作,此檔案好像和系統很多其他的檔案也有關連,是否可以指引小弟一下,此email.apk其實還有和系統中那一些檔案有關連呢?而翻譯這個檔案是,是否有什麼需要特別留意呢?
謝謝幫忙! 感激不盡!

danieliememe wrote:
==========...(恕刪)



請問M大跟賢大適合方神聖呢?

好好奇 能否介紹一下他們文章?

謝謝大大
danieliememe大大真是太強了
受惠您的i9000分享不少,佔用板面跟您致謝!
ngtinhung8 wrote:
D大,你好,有事相求,懇請指點迷津,小弟先前將七吋的系統譯成中文後,大致上勉強還可以,可是卻出了一個重大的問題-Email.apk.

Email.apk譯成中文後,雖然能啟動,卻不能更新郵件,又經常導致其他軟件不協調,如相機.我將英文版本的Email.apk換回去後,即可正常更新郵件,跟著在沒有rm email.apk的情況下,再將中文版本的Email.apk cp回去,這時中文介面的也可正常收發郵件,但如新增帳戶後,只有在英文版時候加入的帳戶才能正常運作,在轉回中文後新增的帳戶卻無法更新,好像譯成中文後,還欠缺了什麼元件,雖然沒有FC,但其實是不能運作,此檔案好像和系統很多其他的檔案也有關連,是否可以指引小弟一下,此email.apk其實還有和系統中那一些檔案有關連呢?而翻譯這個檔案是,是否有什麼需要特別留意呢?

- 就我所知諸如email.apk等與系統關連頗深的app,在中文化時必須要仔細核對相關的/value底下之許多xml檔案內容。
- 基本上就是逐條核對查照,找出/value裡有的,而你中文部分或許是衝突到或根本沒有的地方
- 我自己的作法,是發現到總行數有出入時,逐項比對,並將/value裡原本有的,都按照順序複製到中文這邊來,然後需要翻譯的再來翻譯。
- 以上是正規的處理方式,如果偷懶(其實是以前不懂時硬上的捷徑,不建議使用啦)用前一兩版的resources.arsc,給蓋進去的話,或許可以正常使用,但關鍵時刻就有可能會出問題。
----------------
補充一下:
- email.apk已知是會影響到第三方相機功能,如果一時之前找不到方法時,先換回英文版也是一個臨時的解決方法。
謝謝您的無私經驗分享!

小弟也正要準備自行動手修改APK(我也是啥咪程式語言都不懂的肉咖)
看了您這篇文章就更加了解嚕^_^

做壞事是進步的原動力~~

apk manager 也可以用在 Settings.apk 只是
Decompile 選用 10, 當詢問系統 Resource APK
時直接用檔案總管把 twframework-res.apk 抓起
來丟進去就好.

對於應用程式 FC 的情形, 通常會用 ddms(android SDK 內附)
來觀察是什麼原因出錯. 不過現在有些核心優化的製作
者會把 Kernel Debug 關掉, 要從 Recovery 去打開才能使用.

macleod wrote:

apk manager 也可以用在 Settings.apk 只是

Decompile 選用 10, 當詢問系統 Resource APK

時直接用檔案總管把 twframework-res.apk 抓起

來丟進去就好.



對於應用程式 FC 的情形, 通常會用 ddms(android SDK 內附)

來觀察是什麼原因出錯. 不過現在有些核心優化的製作

者會把 Kernel Debug 關掉, 要從 Recovery 去打開才能使用.

謝謝M大又小露幾招
受教了!
文章分享
評分
評分
複製連結

今日熱門文章 網友點擊推薦!