rom反编译
A. 如何制作刷机包可不可以从手机中导出rom进行修改,编译为刷机包
你可以借助第三方工具进行修改,像用蘑菇rom助手
什么的,都比较简单,你在网上找找视频
B. 如何用手机修改ROM,需要什么软件(详细)多谢,本人是新手。
建议你下载现成的android ROM。
android ROM的组成非常复杂,不是随随便便就能做成的。
既然你说是修改,那么,直接用ES文件管理器即可,解压ROM包,里面主要由15部分组成
1)META-INF文件夹:内含升级脚本及ROM的签名
2)System文件夹:包含对系统所有界面,软件等的控制文件夹
3)Boot.img文件:android内核文件
4)App文件夹:放置系统软件的目录
5)Bin文件夹:放置android系统本地程序, 主要是Linux系统自带的组件
6)Etc文件夹:放置android系统配置文件,如apn文件等
7)Fonts文件夹:放置字体文件,包含标准字体和粗体、斜体、中文、英文等
8)Framework文件夹:放置android系统平台框架文件及布局控制
9)Lib文件夹:放置系统底层库及运行库文件
10)Media文件夹:放置系统铃声音乐文件夹及开机动画文件
11)Tts文件夹:放置手机的语音文件
12)Usr文件夹: 放置用户文件,包含共享、键盘布局、时间区域文件等。
13)Vendor文件夹:放置ROM厂商定制内容
14)Xbin文件夹:放置用户系统支持程序文件
15)Build.prop文件:系统属性配置文件
里面部分是在System 文件夹内,所以主要修改System文件夹即可。
修改System 文件夹操作,多数人只是修改apk包。
apk文件夹内里面所有apk包都是系统应用(原本Root后才可以删的应用),可以删除小部分,同样也可以反编译这些包,以修改。
也可以修改代码,需要java代码编辑器。
封包时再压缩即可。
实际上,android ROM包很复杂,不是三言两语就能教出所有的步骤,不是随随便便就能修改地非常好的,建议上网多学习这些内容。
C. 我想修改别人修改过的安卓ROM里面的framework-res.apk文件,反编译后没问题,可是回编译不了,怎么弄啊
twframework-res.apk 刷机包里 SYSTM下 framework 里 直接用WINRAR打开 或改后缀RAR 里面 RES里 drawable带---的四个文件夹 就是图片文件夹 可以在UOT厨房修改
D. 学习制作rom需要什么条件
需要了解ROM的几个分区懂的架设JAVA环境了解框架文件是哪几个了解每个系统APK文件的作用了解ROM里每个文件夹大概的作用使用APKTool反编译和编译APK,添加或修改自己喜欢的功能学会使用厨房及签名软件学会修改刷机脚本。。。。可以慢慢从修改现有ROM开始,一步一步学起。
E. 如何进行android 反编译
一.看android的源代码
1)将Apkd.apk 用zip解压后,出现了一个classes.dex文件
2014/02/19 19:42
.
2014/02/19 19:42
..
2014/02/19 15:35 1,656 AndroidManifest.xml
2014/02/19 15:35 687,024 classes.dex
2014/02/19 15:49
META-INF
2014/02/19 15:49
res
2014/02/19 15:35 2,200 resources.arsc
2)进入到dex2jar目录中,运行情况如下:
D:\developer\tools\test_apk\dex2jar-0.0.9.15>dex2jar.bat "..\Apkd(d2j)\classes.d
ex"
this cmd is deprecated, use the d2j-dex2jar if possible
dex2jar version: translator-0.0.9.15
dex2jar ..\Apkd(d2j)\classes.dex -> ..\Apkd(d2j)\classes_dex2jar.jar
Done.
在apk所在的目录会出现 classes_dex2jar.jar 文件。
3) 用JD-GUI对jar包进行查看,可以查看源文件
二.反编译apk
1.在下载APKTOOL中的三个文件(aapt.exe、apktool.bat、apktool.jar)解压缩到你的Windows安装目录下,以方便使用Dos命令.
2012/12/06 11:44 854,016 aapt.exe
2014/02/19 17:15 277,372 Apkd.apk//示例用apk文件
2012/12/23 23:39 92 apktool.bat
2013/02/03 02:37 2,655,843 apktool.jar
2.进入到apktool.bat所在的目录,运行:
apktool d Apkd.apk decode_dir
反编译后,decode_dir目录下的内容如下:
2014/02/19 17:16 716 AndroidManifest.xml
2014/02/19 17:16 237 apktool.yml
2014/02/19 17:18
build
2014/02/19 17:16
res
2014/02/19 17:16
smali
此时我可以查看原文件AndroidManifest.xml了,也是查看smali源文件(是用smali语言写的,可以对照java看)。
三.APKTOOL的使用
1).decode
该命令用于进行反编译apk文件,一般用法为
apktool d
代表了要反编译的apk文件的路径,最好写绝对路径,比如C:\MusicPlayer.apk
代表了反编译后的文件的存储位置,比如C:\MusicPlayer
如果你给定的已经存在,那么输入完该命令后会提示你,并且无法执行,需要你重新修改命令加入-f指令
apktool d –f
这样就会强行覆盖已经存在的文件
2).build
该命令用于编译修改好的文件,一般用法为
apktool b
这里的
就是刚才你反编译时输入的
(如C:\MusicPlayer),输入这行命令后,如果一切正常,你会发现C:\MusicPlayer内多了2个文件夹build和dist,其中分别存储着编译过程中逐个编译的文件以及最终打包的apk文件。
3).install-framework
该命令用于为APKTool安装特定的framework-res.apk文件,以方便进行反编译一些与ROM相互依赖的APK文件。具体情况请看常见问题
四.smali与java源码对照,并做出相应的修改
java源代码:
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.*;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView a = (TextView)this.findViewById(R.id.test) ;
a.setText("raoliang");
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
对应的smali源代码:
.class public Lali/text/apkd/MainActivity;
.super Landroid/app/Activity;
.source "MainActivity.java"
# direct methods
.method public constructor ()V
.locals 0
.prologue
.line 8
invoke-direct {p0}, Landroid/app/Activity;->()V
return-void
.end method
# virtual methods
.method protected onCreate(Landroid/os/Bundle;)V
.locals 2
.parameter "savedInstanceState"
.prologue
.line 12
invoke-super {p0, p1}, Landroid/app/Activity;->onCreate(Landroid/os/Bundle;)V
.line 13
const/high16 v1, 0x7f03
invoke-virtual {p0, v1}, Lali/text/apkd/MainActivity;->setContentView(I)V
.line 14
const/high16 v1, 0x7f08
invoke-virtual {p0, v1}, Lali/text/apkd/MainActivity;->findViewById(I)Landroid/view/View;
move-result-object v0
check-cast v0, Landroid/widget/TextView;
.line 15
.local v0, a:Landroid/widget/TextView;
const-string v1, "raoliang"
invoke-virtual {v0, v1}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V
.line 16
return-void
.end method
.method public onCreateOptionsMenu(Landroid/view/Menu;)Z
.locals 2
.parameter "menu"
.prologue
.line 21
invoke-virtual {p0}, Lali/text/apkd/MainActivity;->getMenuInflater()Landroid/view/MenuInflater;
move-result-object v0
const/high16 v1, 0x7f07
invoke-virtual {v0, v1, p1}, Landroid/view/MenuInflater;->inflate(ILandroid/view/Menu;)V
.line 22
const/4 v0, 0x1
return v0
.end method
F. 想学习4.4.2rom修改美化移植,包括反编译apk,论坛上找到的教学都是安卓2.x的有没有新一些
请问你了解了ROM包的结构没
G. 安卓设置反编译后要打开哪个文件修改代码啊,把黑色背景改成全透明的,,注意是全透明的,哪位rom大神
直接找个透明框架呗 。
H. 我想知道,rom的美化和优化要不要反编译就是说替换状态栏图标,字体这些的,又或者build优化
替换状态栏图标字体需要反编译,替换系统字体不需要,build优化也不需要反编译
I. 官方rom的apk怎么解压啊可以帮忙解压两个文件吗
我想替换成这个版的联系人,我现在用的这个联系人有开心网插件。替换好像需要重新编译。真的解压不了,难道是加密了。帮帮忙吧。