编译成5儿子的ROM这个自考难度有多大大

编译可在Nexus5上运行的CyanogenMod13.0 ROM(基于Android6.0)
编译可在Nexus5上运行的CyanogenMod13.0 ROM(基于Android6.0)
编译可在Nexus5上运行的CyanogenMod13.0 ROM
编译可在Nexus5上运行的CyanogenMod13.0 ROM
(基于Android6.0)
作者:寻禹@阿里聚安全
下文中无特殊说明时CM代表CyanogenMod的缩写。 下文中说的“设备”均指Android设备。
proprietary-blobs.txt文件的路径:device/lge/hammerhead/proprietary-blobs.txt
本文中只列出与上面的参考资料中不同的地方,所以需要将上面的参考资料与本文结合起来阅读。
下载CM13.0 ROM
repo init -u git://github.com/CyanogenMod/android.git -b cm-13.0
构建ROM之前设备上必须先安装相应的ROM
在参考资料中有这么一段话:Note:Your device should already be running a build of CyanogenMod for the branch you wish to build for the extract-files.sh script to function properly.
这段话的意思是,如果你要为Nexus5设备构建cm13.0的rom,你必须先在Nexus5设备中安装cm13.0的rom。
仔细检查extract-files.sh在终端中的输出
仔细检查extract-files.sh在终端中的输出,因为这里面可能包含一些执行时出错的信息,一旦有错误信息就要修复错误,修复错误的思路请参考“问题解决”一节。
adb拉取apk文件失败
执行./extract-files.sh脚本时可能会出现下面的错误:ERROR: Pull file /system/app/shutdownlistener.apk from a device running CyanogenModERROR: Pull file /system/app/TimeService.apk from a device running CyanogenMod
这是由于指定的apk文件路径不对,要从设备上拉取的文件列表记录在“proprietary-blobs.txt”中。
找到“proprietary-blobs.txt”文件中的下面两行:
-/system/app/shutdownlistener.apk-/system/app/TimeService.apk
-/system/app/shutdownlistener/shutdownlistener.apk-/system/app/TimeService/TimeService.apk
adb拉取/system/bin下面的文件失败
执行./extract-files.sh脚本时可能会出现下面的错误:
remote object '/system/bin/bridgemgrd' does not exist
这个文件在设备上是存在的。这个文件在设备上的权限是:
-rwxr-xr-x 1 root shell -12-31 21:00 bridgemgrd
可以发现other用户是可以读取这个文件的,但是奇怪的是无法通过adb pull命令拉取。
解决办法1、在CM ROM中是可以开启ROOT访问的,此时我的CM ROM的设备上显示的语言是英文的,所以我以英文来说。打开设备上的“Developer options”(即,开发者选项),找到“Root access”并点击,然后点击“Apps and ADB”,这样设置完后app和adb都可以无碍的申请root权限。2、在pc的终端中输入命令:adb root,表示设备上以root权限重启adbd。然后就再次adb pull拉取设备/system/bin目录中的文件将会成功。
找不到/system/prev-app中的apk
执行./extract-files.sh脚本时可能会出现下面的错误:
ERROR: Pull file /system/priv-app/OmaDmclient/OmaDmclient.apk from a device running CyanogenModERROR: Pull file /system/priv-app/SprintHiddenMenu/SprintHiddenMenu.apk from a device running CyanogenMod
找到“proprietary-blobs.txt”文件中的下面两行:
-/system/priv-app/OmaDmclient/OmaDmclient.apk
-/system/priv-app/SprintHiddenMenu/SprintHiddenMenu.apk
-/system/app/OmaDmclient/OmaDmclient.apk-/system/app/SprintHiddenMenu/SprintHiddenMenu.apk
当遇到这个问题时只改"proprietary-blobs.txt”文件中的内容是不够的。找到“device/lge/hammerhead/setup-makefiles.sh”文件,将该文件中相应的”priv-app”更改为”app”。找到“vendor/lge/hammerhead/proprietary/Android.mk”文件,将该文件中相应的”priv-app”更改为”app”。
作者:寻禹@阿里聚安全,更多Android技术文章,请访问
阿里聚安全由阿里巴巴移动安全部出品,面向企业和开发者提供企业安全解决方案,全面覆盖移动安全、数据风控、内容安全、实人认证等维度,并在业界率先提出“以业务为中心的安全”,赋能生态,与行业共享阿里巴巴集团多年沉淀的专业安全能力。
用云栖社区APP,舒服~
【云栖快讯】Apache旗下顶级开源盛会 HBasecon Asia 2018将于8月17日在京举行,现场仅600席,免费赠票领取入口&&
为您提供简单高效、处理能力可弹性伸缩的计算服务,帮助您快速构建更稳定、安全的应用,提升运维效...
RDS是一种稳定可靠、可弹性伸缩的在线数据库服务。支持MySQL、SQL Server、Po...
阿里云总监课正式启航0x00 前置信息
Android 5.1.1
SuperSU v2.65
目标:基于SuperSU编译一个可以在应用层使用root shell的Android 5.1.1 ROM。
0x01 添加su模块
编译Android时,userdebug或者eng方式编译默认自带的su,不使用这个自带的su,即不编译这个自带system\extras\su模块,最简单的方法是把该目录下的Android.mk重命名或者删掉。
在packages目录下新建su目录,并拷贝SuperSU中的su文件(与系统自带的su不一样)至该目录下,并在该目录下新建Android.mk文件,文件内容如下:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE := su
LOCAL_SRC_FILES := $(LOCAL_MODULE)
LOCAL_MODULE_CLASS := EXECUTABLES
LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
LOCAL_UNSTRIPPED_PATH := $(LOCAL_MODULE_PATH)
include $(BUILD_PREBUILT)
在配置文件中加入该模块 \
修改device/$(brand_name)/device.mk文件,添加PRODUCT_PACKAGES += su。
修改su文件权限 \
文件权限定义在system/core/include/private/android_filesystem_config.h文件中,
找到如下内容,根据需求修改。
{ 06755, AID_ROOT,
0, "system/xbin/su" },
至此,就可以把su模块添加到ROM中。
0x02 设置su为启动服务
修改init.rc文件,设置su为自启动服务
start su_daemon
service su_daemon /system/xbin/su
class main
0x03 添加selinux权限规则
device/$(brand_name)/sepolicy/init.te
添加如下内容
allow init su_exec:file { execute_no_trans setattr relabelfrom relabelto };
allow init system_file:file { relabelto };
allow init rootfs:file { create write relabelfrom relabelto setattr };
allow untrusted_app init:unit_stream_socket { connectto };
如果有编译错误,根据错误提示去相关文件中修改权限限制。
external/sepolicy/untrusted_app.te
# neverallow untrusted_app ...;
external/sepolicy/domain.te \
Delete some allow limit from init in line 294 and line 297.
至此,成功。
0x04 SuperSU原理
在Android 4.3及其以后的版本中,所有应用进程都从zygote进程中分支出来,并被踢出了所有的权能,以防止应用程序执行一些高权限的操作。在Android 4.4及其后面的版本中,SELinux处于enforcing模式,所有应用启动的任何进程都包含其本来的安全标签(一般是untrusted_app),因此应用进程还必须遵循强制访问控制(MAC)的限制,所以必须使用守护进程,才有可能让应用执行root权限操作。
APP使用su执行root权限命令,这些命令实际是通过UNIX的域套接字传送给su_daemon守护进程来执行的。su_daemon service由init进程启动,所以会以u:r:init:s0的SELinux标签来执行收到的命令。[1]
[1] Android安全架构深究 P368
rk3288 Android 5.1root方法
1.替换附带的su(5.1)
修改 system/extras/su/su.c 源码
注释掉下面的代码
if (myuid != AID_ROOT && myuid != AID...
系统开放Root权限给APK [ 5.1 6.0通用 ]
Android 5.0 Lollipop 如何像4.2.2一样通过su命令获取root权限
4.2.2(Jelly Bean)上root的方法比较简单,调用su命令就可以获取到root权限并执行一些...
SONY 系列手机 Android 5.1 系统 Root 方法
用的一款非主流机器,Xperia C3,国行叫 S55u/S55t
港版型号是 D2502,台版是 D2533
官方最新固件(港版,因为港版是双卡版,台版是单卡)版本:19.4.A...
由于工作的需要,需要对Android framework层的源代码就行修改。所以需要下载Android的源代码并进行编译。
其实网络上的这种教程也是很多了,本来我也不打算写得,但是老总一直喊我总结一...
supolicy和su拷到/system/xbin/
su拷到/system/xbin/daemonsu
Superuser.apk拷到/system/app/
install-recovery...
包含打包用于将&em&su&/em&命令载入&em&安卓&/em&系统的update.zip打包用资源以及Elite.apk和superuser.apk 综合评分:5 收藏(1)评论(2)举报 所需: 3 积分/C币 开通VIP 立即下载 ...
这篇文章将介绍Android 4.4.4_r1
系统源码中自带的 su命令源码。su二进行值文件一般放在Android 设备中的/system/bin 目录或/system/xbin 目录中,我们在...
Android 8.1 Pixel root 权限
1. 下载pixel 的twrp image 和 zip ,两个要同时下载https://twrp.me/1) twrp-3.2.1-0-sailfish.img2) twrp-pixel-insta...
没有更多推荐了,2.3编译Android源码
Android源码体积非常庞大,由Dalvik虚拟机、Linux内核、编译系统、框架代码、Android定制C库、测试套件、系统应用程序等部分组成,在编译Android源码之前,必须要先掌握Android源码的组成。
2.3.1Android源码目录结构
在Android源码中,按照不同功能代码被放在不同的目录下:
针对Android系统定制的仿生标准C库、链接器等所在目录,Android系统并没有使用Linux的glibc库,bioinc C库针对嵌入式系统做了优化,添加了一些Android特定的函数API同时大大减少库的体积,也避免了LGPL版权的问题。
Android系统引导启动代码,用来引导系统、更新系统、恢复系统。
Android的编译系统目录,里面包含大量的Makefile,用来编译目标系统、Host主机开发环境等。
兼容性测试工具目录。
Dalvik虚拟机,Android系统得以运行的虚拟执行环境。
development
程序开发所需要的模板和工具。
Android系统使用的其它开源代码目录,如jpeg图片解码开源库、opencore开源代码等。
frameworks
框架层代码,frameworks/base目录下存放目标系统的框架库,frameworks/policies/base下存放应用程序框架代码。
HAL(Hardware Abstraction Layer)硬件抽象层代码。
Linux内核目录,默认下载的Android源码里没有,需单独下载。
Android系统级应用程序源码目录,如摄像应用、电话应用等。
主机编译工具目录,如arm-linux-gcc交叉系统工具链等。
SDK及模拟器。
init进程、蓝牙、无线WIFI工具、uevent进程目录。
厂商设备配置目录,针对不同设备,由不同的子目录来分别管理,用来裁剪实现不同设备上Android目标系统。
在external目录下存放着大量的外部开源代码:
外部开源项目
外部开源项目
apache-http
网页服务器
netbeans-visual
蓝牙相关、协议栈
simple Unix utility which reads and writes dataacross network connections
网络性能测量工具
clearsilver
看代码和JNI相关
低延时、低开销、高可用性的IPC机制
多媒体框架
SSL加密相关
SSH2的server
OProfile是Linux内核支持的一种性能分析机制
pppd拨号命令,好像还没有chat
复制ELF的工具
a flexible, efficient, automated mechanism for serializing structured data
Embedded Unit Project
functions for performing safe integer operations
java代码覆盖率统计工具
Enlightened Sound Daemon,将多种音频流混合在一个设备上播放
skia图形引擎
Expat is a stream-oriented XML parser
sole MIDI solution for Google Android Mobile Phone Platform
FDLIBM (Freely Distributable LIBM)
Nuance 公司提供的开源连续非特定人语音识别
google的无线数据相关
swing-worker
googleclient
google用户库
TagSoup是一个Java开发符合SAX的HTML解析器
ICU(International Component for Unicode)在C/C++下的版本
抓TCP包的软件
TinyXml is a simple, small, C++ XML parser
generate a report describing the difference between two public Java APIs
jfreechart
I stream and file decoder provides an embeddable,integer-only library
浏览器核心
wpa_supplicant
无线网卡管理
libffi is a foreign function interface library.
yaffs文件系统
网络数据包捕获函数
a general purpose data compression library
在packages/app目录下存放着大量系统级应用程序,我们可以拿到这些应用程序代码分析、理解,编写出效率更高,性能更好的应用:
系统应用程序
AlarmClock
Calculator
GoogleSearch
Google搜索
HTML Viewer
浏览器附属界面,被浏览器应用调用,同时提供存储记录功能
即时通讯,为手机提供信号发送、接收、通信的服务
Android的桌面
音乐播放器
PackageInstaller
应用程序安装、卸载器
SoundRecorder
短信接收和发送
VoiceDialer
语音识别通话
在package/providers目录下存放的是系统级内容提供器(Content Provider):
系统内容提供器
CalendarProvider
日历提供器
ContactsProvider
联系人提供器
DownloadProvider
下载管理提供器
DrmProvider
DRM受保护数据存储服务,创建和更新数据库时调用
GoogleContactsProvider
谷歌联系人提供器
GoogleSubscribedFeedsProvider
Google同步功能
ImProvider
即时通讯提供器
MediaProvider
媒体提供器、提供存储数据
SettingsProvider
系统设置提供器
SubscribedFeedsProvider
TelephonyProvider
彩信提供器
按照Android官方网站给出的步骤,编译Android源码过程如下:
? 初始化编译环境
在编译Android之前,编译系统需要加载一些编译脚本命令到环境变量中,通过下面的指令来初始化编译环境:
$ sourcebuild/envsetup.sh
在执行完上述命令后,可以通过执行help命令来查看所有加载的命令。
Invoke ". build/envsetup.sh" from your shell to add the following functions to your environment:
Changes directory to the top of the tree.
Makes from the top of the tree.
Builds all of the modules in the current directory.
Builds all of the modules in the supplied directories.
Greps on all local C/C++ files.
Greps on all local Java files.
- resgrep: Greps on all local res/*.xml files.
Go to the directory containing a file.
Look at the source to view more functions. The complete list is:
add_lunch_combo cgrep check_product check_variant choosecombo chooseproduct choosetype choosevariant cproj croot findmakefile gdbclient get_abs_build_var getbugreports get_build_var getprebuilt gettop godir help isviewserverstarted jgrep lunch m mm mmm pid printconfig print_lunch_menu resgrep runhat runtest setpaths set_sequence_number set_stuff_for_environment settitle smoketest startviewserver stopviewserver systemstack tapas tracedmdump
常用脚本命令:
帮助信息,打印所有命令
add_lunch_combo
添加新目标编译项
print_lunch_menu
打印所有目标编译项
选择目标编译项
从源码树顶级目录向下编译源码,相当于执行make
从当前目录向下编译源码
从指定目录向下编译源码,通常用来编译某个模块
从所有的C,C++文件里查找指定字符串
从所有的Java文件里查找指定字符串
? 选择编译选项
由于Android源码是一个开源的系统,然要匹配很多设备产品,也就是说一个版本的Android源码,可以编译出针对不同产品的系统。通过选择一个目标编译项,来决定编译出针对哪个产品的系统,我们可以通过执行下面的命令来选择要编译的目标系统:
You're building on Linux
generic-eng simulator
Lunch menu... pick a combo:
1. generic-eng
2. simulator
Which would you like? [generic-eng]
通过lunch命令可知,让用户输入目标编译项,我们可以选择编译项前的数字,也可以直接输入编译项的名字。
…接前面终端输出信息
Which would you like? [generic-eng]1 [回车]
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=2.1-update1
TARGET_PRODUCT=generic
TARGET_BUILD_VARIANT=eng
TARGET_SIMULATOR=false
TARGET_BUILD_TYPE=release
TARGET_ARCH=arm
HOST_ARCH=x86
HOST_OS=linux
HOST_BUILD_TYPE=release
BUILD_ID=ERE27
============================================
由上面结果可知,当用户输入:1或generic-eng时,会打印出上面的信息,这些信息是Android的编译系统必须依赖的环境变量,只有设置了这些变量,才能决定Android系统如何编译,编译成什么平台,编译成什么版本。
目标编译项格式:产品名-版本变量名,目标编译项可以由用户添加(见xxx章节),产品名是目标设备的产品名,由厂商自己定义,generic产品是通用产品,它是Android默认设备的产品名,它包含了常用的手机的所有功能,自己定义的产品可以继承generic,并重写它的功能,达到定制产品的目的(见xxx章节)。
版本变量名由以下几个组成:
eng:工程版本,user:最终用户版本userdebug:调试版本 tests:测试版本
其中,eng版本产品其实就是手机行业的工程机,它不是最终销售的产品,而是产品在定型下线之前放出的一些测试用机器,用于检测和标准的认证,这些工程机上安装的系统为eng版本,user是最终用户机发行版本,userdebug是调试版本,它比用户机添加了一些调试功能,如adb调试默认打开等,tests测试版本,该版本会安装一些测试程序,用于测试系统。
上述四种版本的分类作用,其一:用于区分目标系统里的所有的应用程序、库、测试程序等,将它们打上对应的Tags,当选择一个版本编译时,拥有对应Tags及低级别的Tags的程序会被编译安装到目标设备上,应用程序Tags的包含关系如下图:。其二:根据不同的版本,系统会有不同的设置,如adbd在用户版本里是关闭的,在其它版本中是默认打开的,ro.secure属性用户版本值为1,其它版本为0。
? 编译源码
执行完前面的命令后,我们可以输入make指令开始编译目标系统:
编译的时长与机器的硬件配置有关系,当第一次编译时一般需要数小时以上。后续编译,相对快多了,编译完的效果如下图所示:
通过上面的输出信息可知,Android系统编译完后,在out/target/product/generic/目录下产出了三个文件:system.img、ramdisk.img、userdata.img。
system.img:android系统的文件系统,里面包含了android系统的应用程序(apk),系统用到的各种库(jar, so)和资源,配置文件(etc目录下),系统命令(bin,usr/bin, xbin),该映像文件是由out/target/product/generic/system目录打包生成的,我们可以对这个目录里的东西进行定制化,比如,你要想让android系统默认安装一个应用程序,那么可以将要安装的apk文件拷贝到out/target/product/generic/system/app目录下。 userdata.img:用户数据映像,里面包含有程序安装信息等,好比如是windows的C:/Program Files/目录。ramdisk.img:内存磁盘映像。linux内核启动起来,要挂载一个文件系统作为自己的根文件系统,里面含有Linux内核启动过程中依赖的一些程序和配置文件。ramdisk.img就是一个最小化的根文件系统,它被加载到内存中作为Android的根文件系统。该映像是由out/target/product/generic/root目录打包生成的。前面所述的userdata.img和system.img映像,在linux系统启动起来后挂载到ramdisk.img中的data,system目录下。
其实,Android手机的ROM包(通常为update.zip文件),就是主要由上述三个映像文件构成的:
android-info.txt
ROM版本及刷写配置信息
Linux内核zImage、ramdisk.img
system.img
Android系统映像
userdata.img
用户数据映像
只要我们拿到手机的源码,就可以自己编译出自己的ROM,不过,一般手机厂商不会开源自己产品源码,都是第三方爱好者自己下载,修改编译的,如:业界著名的CM团队:。
由于完全编译Android系统耗时很长,并且Android源码由很多模块组成,我们可以通过下面一些编译命令来减少编译时间:
打包生成system.img,不检查依赖关系
make bootimage
打包生成ramdisk.img
指定编译某个目录下的模块
上述三个命令经常在我们源码开发时使用,希望大家记住。
2.3.3编译内核
Android使用Linux内核,在源码级开发过程中,有时要修改内核代码,通常内核代码是和目标设备相关的,我们使用的是模拟器的内核,即使没有硬件设备也可以完成实验。
编译Android的内核,需要用到交叉编译器,我们可以直接使用Android源码里自带的arm-eabi-gcc编译器,为了编译出针对模拟器的内核(模拟器的CPU为Goldfish),还要配置内核(如果不知道如何配置内核,请读者阅读内核裁剪相关资料),为了方便我们编译Goldfish内核,我们编写了如下脚本,方便编译。
$ cd /home/linux/android/android_source/kernel/goldfish/
$ vi build_kernel.sh
添加如下内容:
@ /home/linux/android/android_source/kernel/goldfish/build_kernel.sh
#!/bin/bash
export PATH=/home/linux/android/android_source/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin:$PATH
export ARCH=arm
export SUBARCH=arm
export CROSS_COMPILE=arm-eabi-
if [ ! –f .config ] ; then
make goldfish_armv7_defconfig
注:当Andorid源码目录发生改变时,要修改PATH的路径,让它指向对应的交叉编译器。
给脚本加上可执行权限,然后执行该脚本:
$ chmod a+x build_kernel.sh
$ ./build_kernel.sh
内核编译完成如图x-x所示:
图x-x 内核编译结果
Android内核的编译与裁剪
如果我们仅仅对Android内核感兴趣,我们可以选择合适的Android内核下载并编译。
可供选择的内核源码有很多版本:
view plaincopy
Android系统移植(一)
摘要:移植Android4.2.2到TINY4412上
Android系统移植必读教程。快速移植系统
找一个本机型的底包system,然后
Android系统由于用的是linux内核,因此内核移植和嵌入式linux内核移植差异不大,过程如下:
(1)移植boot-loader和linux2.6内核到目标平台上,让linux内核可以启...
Android开发环境篇
Required Packages
Android requires the following system packages:
(一):写在前面在上面一个小节当中,我们学习了将CM移植到我们自己的设备的上半部分,这里,我们将下半部分学习一下,并尝试讲CM移植到一个平板上去。(二):承接上文device_[codename].m...
《深入理解Android内核设计思想(第2版)(上下册)》之Android源码下载及编译
本文摘自人民邮电出版社异步社区《深入理解Android内核设计思想(第2版)(上下册)》
购书地址:http://item.jd.com/.html
试读地址:http://w...
安卓系统之旅——最全的Android源码目录结构
android平台四层架构对应源代码中的目录:
第一层:应用程序层(applications)对应根目录下packages/apps
第二层:应用程序框架层(application fra...
没有更多推荐了,
作者,早期从事Android移动开发、嵌入式系统开发,连续两次创业,全栈带队开发全球知名校友在线咨询平台。后使用快捷导航没有帐号?
只需一步,快速开始
查看: 5187|回复: 95
在线时间144 小时G币97 最后登录注册时间帖子阅读权限100UID
TA的每日心情慵懒 14:10签到天数: 1 天[LV.1]初来乍到
G币97 最后登录注册时间
马上注册,结交更多机友,下载更多应用,让你轻松玩转手机。
已有帐号?   下载游戏和软件,请【】进入机锋市场!
1.本软件为兴趣而写,如有侵权,请告知。
2.本软件为本人所编写,未经允许,不得转载。
一、软件界面(当前最新版本1.2.0.0)
10:28 上传
二、功能介绍
1.1 Apk文件语言文件翻译(手工或网上翻译)
1.2 Apk权限删除
1.3 Apk框架管理
1.4 Apk合并odex(支持安卓5.0)
2 dex文件处理
2.1 dex文件转换成java源码/jar执行文件/smali文件
2.2 smali文件回编译成dex
3 Apk/jar/zip文件签名以及优化
4 卡刷Rom处理
4.1 卡刷Rom文件内所有Apk进行语言精简/合并odex/优化
4.2 检查updater-script脚本(测试阶段)
4.3 打包/签名Rom
5.1 解包出sin
5.2 解包成ext4
5.3 解包成文件
5.4 解包成update.zip &--1.1.0.0新增功能
6 ext4解包
6.1 可读取ext4内各文件信息及权限信息
6.2 解包指定文件(可以解包成Rom文件夹并打包成update.zip) &--1.1.0.0新增功能
7 sin转换成ext4
8 手机管理(需使用USB连接手机)
8.1 查看手机端软件并可进行卸载/odex化(需要Root权限)
8.2 安装软件到手机端
8.3 把手机端内的Apk/jar文件odex化并提取到电脑
8.4 手机重启(可选正常重启,重启到Recovery,重启到 Bootloader)
8.5 查看/提取/文件复制到手机(系统关键文件夹需要Root权限,例如system)
8.6 读取手机系统日志 &--1.1.0.0新增功能
8.7 提取手机内system分区并生成updater-script &--1.1.0.0新增功能
9 关联文件
9.1 可针对本软件支持的文件格式进行右键关联
9.2 可使系统直接显示apk图标
10 系统Apk文件依赖分析 &--1.2.0.0新增功能
三、所需平台说明
1.需要 Win7 或以上系统
2.本软件需要.net framework4.5支持,如果未安装可以点击下载并安装。
3.部分软件需要jre支持(包括apk工具),可以点击下载(软件包内已包含,可不下载)。
4.使用说明已包含到压缩包里
四、开发中的功能
1.系统Apk文件依赖分析,可分析出Apk所依赖的jar/lib文件,对移植软件有一定帮助--已在1.2.0.0开放测试,有问题欢迎反馈。
2.更多想法各位机油可以提出。
五、关于支持
如果大家觉得本软件对你有用,请多支持我,在“支持我”页面有多种支持方式,谢谢各位!
六、更新日志
1.2.0.0& && && &--
新增 系统Apk文件依赖分析(Apk工具-&依赖分析)
更新 apktool 2.0.0rc4 -& 2.0.3
更新 smali 2.06 -& 2.11
更新 baksmali 2.06 -& 2.11
更新 dex2jar 0.0.9.15 -& 2.0
修复 若干bug
1.1.0.0 --
调整 手机重启功能调整到 手机工具-&其他-&手机重启
新增 从FTF提取system.sin直接转成Rom(固件工具-&强刷包(ftf))
新增 ext4转换成Rom(固件工具-&ext4解包器)
新增 从手机直接提取Rom(手机工具-&高级工具-&提取手机Rom)
新增 读取系统日志功能(手机工具-&高级工具-&获取系统日志) (感谢Lazy提供资料)
新增 支持Andorid 5.0 odex合并 (感谢Lazy提供资料)
修复 FTF/sin/ext4文件解包前确认磁盘空间,避免程序出错
修复 软件启动后插入手机无法读取手机列表
修复 解包ext4错误 (感谢Lazy反馈)
修复 framework.apk解包错误 (感谢Lardy反馈)
修复 非管理员权限更改文件关联引起错误Bug
修复 启动时无法显示在任务栏
修复 关联右键菜单关联点选全部关联时选项可能出现错误的问题
修复 关闭时出错
修复 Apk工场读取apk信息可能卡死Bug
感谢各位机油的支持、测试,发现了本软件的不少Bug与问题,目前修正了部分Bug与功能,
欢迎各位机油继续帮忙测试与反馈,谢谢!!
如有什么建议或意见可以直接回复或者发邮件到 at_
如果想直接查看更新可留意
废话不多说,上菜
版本:1.2.0.0
游客,本帖隐藏的内容需要积分高于 10 才可浏览,您当前积分为 0
以上,谢谢!!
Best Regards!!
by:qiujindong18
<p id="rate_536904" onmouseover="showTip(this)" tip="很给力!&经验值 + 1
" class="mtn mbn">
<p id="rate_446919" onmouseover="showTip(this)" tip="很给力!&经验值 + 2
" class="mtn mbn">
<p id="rate_85743" onmouseover="showTip(this)" tip="很给力!&经验值 + 1
" class="mtn mbn">
<p id="rate_57720" onmouseover="showTip(this)" tip="赞一个!&经验值 + 4
" class="mtn mbn">
<p id="rate_48769" onmouseover="showTip(this)" tip="很给力!&经验值 + 2
" class="mtn mbn">
在线时间97 小时G币1074 最后登录注册时间帖子阅读权限80UID4968526
研究生, 积分 1669, 距离下一级还需 31 积分
TA的每日心情奋斗 04:53签到天数: 11 天[LV.3]偶尔看看II
G币1074 最后登录注册时间
谢谢分享 然而有何用
在线时间185 小时G币74 最后登录注册时间帖子阅读权限60UID1228645
大学本科, 积分 541, 距离下一级还需 159 积分
该用户从未签到
G币74 最后登录注册时间
沙发先坐下
在线时间144 小时G币97 最后登录注册时间帖子阅读权限100UID
TA的每日心情慵懒 14:10签到天数: 1 天[LV.1]初来乍到
G币97 最后登录注册时间
双子轩 发表于
谢谢分享 然而有何用
包内有说明,欢迎下载使用。
在线时间57 小时G币765 最后登录注册时间帖子阅读权限90UID
硕士, 积分 2093, 距离下一级还需 407 积分
TA的每日心情开心 07:42签到天数: 39 天[LV.5]常住居民I
G币765 最后登录注册时间
太专业了,这得参加培训
在线时间97 小时G币1074 最后登录注册时间帖子阅读权限80UID4968526
研究生, 积分 1669, 距离下一级还需 31 积分
TA的每日心情奋斗 04:53签到天数: 11 天[LV.3]偶尔看看II
G币1074 最后登录注册时间
可以免解锁root吗
在线时间144 小时G币97 最后登录注册时间帖子阅读权限100UID
TA的每日心情慵懒 14:10签到天数: 1 天[LV.1]初来乍到
G币97 最后登录注册时间
双子轩 发表于
可以免解锁root吗
暂时没有这功能
在线时间974 小时G币2174 最后登录注册时间帖子阅读权限100UID2534930
博士, 积分 3499, 距离下一级还需 1 积分
TA的每日心情开心 10:03签到天数: 1 天[LV.1]初来乍到
G币2174 最后登录注册时间
开发个手机端的更合适,随时随地
在线时间144 小时G币97 最后登录注册时间帖子阅读权限100UID
TA的每日心情慵懒 14:10签到天数: 1 天[LV.1]初来乍到
G币97 最后登录注册时间
JiFWIJY 发表于
开发个手机端的更合适,随时随地
抱歉,目前还没有手机端开发经验。
在线时间74 小时G币3 最后登录注册时间帖子阅读权限60UID7655566
大学本科, 积分 600, 距离下一级还需 100 积分
TA的每日心情无聊 22:31签到天数: 2 天[LV.1]初来乍到
G币3 最后登录注册时间
嗯 用心的教程&&可是看着就头晕
Powered by}

我要回帖

更多关于 一级建造师难度有多大 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信