精华内容
下载资源
问答
  • 最近闲下来了一会,除了休息了一会,另外还学习了下如何编译一个完整的AOSP(Android 10)项目,并添加人脸解锁功能~耗时一周,网上几乎没啥资料,自己摸索后总结一下呜呜呜… 以Mokee (MK100)为例,Dipper(小米8...

    最近闲下来了一会,除了休息了一会,另外还学习了下如何编译一个完整的AOSP(Android 10)项目,并添加人脸解锁功能~耗时一周,网上几乎没啥资料,自己摸索后总结一下呜呜呜…

    以Mokee (MK100)为例,Dipper(小米8)为开发机进行说明

    下载源代码

    1.下载repo可执行文件

    安卓使用repo工具组织项目,并提供并行fetch、checkout功能。

    此处引用Mokee Github的Git-repo仓库:repo文件

    下载后导入任意一个可执行文件路径(/usr/bin/bin等)

    2.下载各源代码仓库

    repo会在当前路径下生成.repo文件夹,里面存放着所有索引到的仓库名。

    注:如果有自己导入的包,可以在.repo/manifests/xxx.xml中进行导入

    魔趣为例:

    repo init -u https://github.com/MoKee/android -b mkq-mr1 --depth 1
    repo sync
    
    • 作为一个编译用户来说,--depth=1只会获取最近一次提交,大大减小本地占用大小
    • mkq-mr1为mokee/android仓库定义的Android 10分支
    • repo sync较为耗时,完成后会把整个仓库拉出来,需要100GB空间左右

    添加人脸解锁功能

    注:多翻各大AOSP项目的Gerrit!会有很大收获!

    1.依赖人脸解锁插件

    安卓10官方阉割了支持的人脸解锁,取而代之的是motorola开发的faceunlock插件,插件仓库使用pixel experience中提供的

    先在.repo/manifessts/snippets/mokee.xml定义远程源:

    <remote name="pixel"
              fetch="https://github.com/PixelExperience"
              revision="ten"
              review="gerrit.pixelexperience.org" />
    

    在下方定义project源:

    <project path="external/motorola/faceunlock" name="external_motorola_faceunlock" remote="pixel" />
    
    • path为本地路径
    • name为远程仓库名
    • 若要指定具体分支,使用revision参数指定

    2.修改部分人脸相关系统文件

    此处不建议直接手改代码,而是查阅各大项目的代码审查网站下载patch文件,如下图:

    下载后使用

    base64 --decode xxx.base64 > xxx
    

    将其进行base64解码

    当然使用Cherry Pick这些也行

    总共需要两处:

    可以使用git apply/am进行打补丁,但建议使用git am指令进行合并,am可以在合并完成个自动创建commit

    若合并后有文件冲突,am会自动暂停并告知冲突文件,解决冲突后,可使用git am --continue继续合并。若不想改了,则执行git am --abort放弃本次合并

    编译魔趣AOSP

    编译的话,加上上面的源码,总共至少需要200G空间

    1.lunch配置机型文件

    以dipper(小米8)为例,生成一个类似于MIUI开发版的ROM指令为:

    lunch mokee_dipper-userdebug
    

    若本地还🈚️小米8的设备配置文件、内核等,会调用内核

    上述指令通常会在device/xiaomi/dipper/AndroidProducts.mk中定义

    其中编译类型有以下区别:

    user userdebug eng
    仅安装标签为 user 的模块 安装标签为 user、debug 的模块 安装标签为 user、debug、eng 的模块
    设定属性 ro.secure=1,打开安全检查功能 设定属性 ro.secure=1,打开安全检查功能 设定属性 ro.secure=0,关闭安全检查功能
    设定属性 ro.debuggable=0,关闭应用调试功能 设定属性 ro.debuggable=1,启用应用调试功能 设定属性 ro.debuggable=1,启用应用调试功能
    设定属性 ro.kernel.android.checkjni=1,启用 JNI 调用检查
    默认关闭 adb 功能 默认打开 adb 功能 默认打开 adb 功能
    打开 Proguard 混淆器 打开 Proguard 混淆器 关闭 Proguard 混淆器
    打开 DEXPREOPT 预先编译优化 打开 DEXPREOPT 预先编译优化 关闭 DEXPREOPT 预先编译优化

    2. 编译

    lunch没遇到什么问题,可执行

    mka bacon
    

    进行编译,若一切顺利,则会在out/target/product/dipper下生成MK100xxx.zip文件。将其通过adb sideload或者adb push xxx.zip /sdcard导入手机后进行刷机。

    建议内存大小为16G以上

    遇到的问题

    1. lunch下载机型文件在“下载了device文件还未下载vendor或者kernel”时中断后,再次lunch发现不下载了

    解决方法:使用repo sync path/to/vendor_or_kernel直接进行手动同步

    2.编译时报错但看不出错误

    解决方法:使用mka bacon -j1单线程执行,方便查看

    3.刷机后发现xxx功能不正常

    之前还想集成双行通知栏的代码,后来发现导入后锁屏解不开了

    解决方法:使用adb shell进入手机终端,使用su获取root权限,执行logcat | grep (功能),如果是系统问题则一般为AndroidRuntime,如果是具体app的话就换成app包名。查看问题后查阅相关代码,找到出错原因并解决。

    展开全文
  • 魔趣-nexus源码编译

    2020-09-13 19:42:45
    魔趣-nexus源码编译 目标手机是Motorola nexus,开发代号为 shamu 1、先下载魔趣android分支kmp源码(mkp分支是android 9.0版) 2、下载shamu硬件适配项目源码 打开网址https://github.com/MoKee,搜索 shamu ...

    魔趣-nexus源码编译

    目标手机是Motorola nexus,开发代号为 shamu

    1、先下载魔趣android分支kmp源码(mkp分支是android 9.0版)

    2、下载shamu硬件适配项目源码

           打开网址 https://github.com/MoKee,搜索 shamu 查找所有分支,找到4个分支

         android_device_motorola_shamu  (这个项目没有kmp分支,放弃)
         android_kernel_motorola_shamu  (下载mkp分支)
         android_vendor_motorola_shamu(下载mkp分支)
         android_device_moto_shamu         (下载mkp分支)

    3、解压文件到合适目录,修改和增加配置文件

         android_kernel_motorola_shamu_mkp.zip 解压到 android源码目录/kernel/motorola/shamu/

         android_vendor_motorola_shamu.zip 解压到 android源码目录/vendor/motorola/shamu/

          android_device_moto_shamu_mkp.zip 解压到 android源码目录/device/motorola/shamu/

          修改 android源码目录/device/motorola/shamu/BoardConfig.mk文件,将里面的/moto/全部替换成/motorola/

          修改 android源码目录/device/motorola/shamu/camera/QCamera2/android.mk文件,将里面的/moto/全部替换成/motorola/ 

         

    在android源码目录/device/motorola/shamu/ 目录下 创建vendorsetup.sh文件,将下面3行复制到文件保存

          add_lunch_combo mk_shamu-eng
          add_lunch_combo mk_shamu-user
          add_lunch_combo mk_shamu-userdebug

     4 编译android源码

         回到 android源码目录/   

         输入 source build/envsetup.sh

         输入 lunch

         在列出编译目标项目 选择 mk_shamu-user 

         输入mk_shamu-user对应的序号

         输入mke bacon -j8  

          开始正式 编译,经过漫长等待,会在android源码目录/out/target/procut/shamu/下生成ROM包

         直接安装生成的ROM就可以了

     

     
    展开全文
  • 在《5行命令教你编译魔趣》这个帖子中,我了解到了一些流程,现在就动手实践一下。 repo init -u https://github.com/MoKee/android -b mkn-mr1 --depth 1 repo sync . build/envsetup.sh lunch mk_cheeseburger...

    前言

    记得当年刚接触Android的时候,就看有关老罗的文章倒是让我的安卓内功提升不少,但是由于工作都是停留在应用层的缘故,我几乎对这块并没有深入研究,最近公司的新产品对Framework层的开发有所涉及,需要制作自己的ROM包,我用一个星期来调研,查国内外的很多资料,发现国内的魔趣的开源项目是基于CM和AOSP来进行二次开发的,社区论坛也比较活跃,这里的Android ROM我就选择从魔趣的源码来进行编译开发了,刚好手里有一台红米5A手机,以下的开发过程就围绕这部手机型号来进行展开。

    源码的下载

    配置SSH长连接

    我们的用户端和服务端链接过程中长时间不输入后会导致自动断开,我参考《解决SSH自动断开问题》进行配置,下载的时候,因为同步命令会记录上次下载的位置,所以可以继续执行。在编译的时候特别重要,因为断开后,他很多变量都是配置到当前会话中的,断开SSH会话后,编译命令无法找到,我们就需要重新的去编译源码。

    选定源码版本

    我们来看下魔趣官网中对于源码版本的选定
    在这里插入图片描述
    上面我在魔趣下载网站上对于5A机型ROM源码的查看,几乎每天都在更新,那么我们这里下载的肯定就是魔趣的8.1的源码了(MK8.1就是代表魔趣的ROM是基于8.1来进行开发的)。

    安装repo

    在这里我主要参考的是官网的repo安装,我在挂载的服务器硬盘路径中创建我们下载的文件夹,并且添加到环境变量中。

    $ mkdir /var/android/rom/mokee/source
    $ PATH=/var/android/rom/mokee/source:$PATH
    

    使用魔趣的镜像下载repo

     $ curl https://download.mokeedev.com/git-repo-downloads/repo > /var/android/rom/mokee/source/repo
     $ chmod a+x /var/android/rom/mokee/source/repo
    

    在这里插入图片描述初始化repo分支

    $ repo init -u https://github.com/MoKee/android -b mko-mr1
    

    下载好后有一个.repo的隐藏文件夹,cd进去:

    $ ls
    local_manifests  manifests      project-objects  projects
    manifest.xml     manifests.git  project.list     repo
    

    更改国内镜像地址

    目前下载的时候,如果使用默认的http://android.googlesource.com/需要我们进行翻墙操作,可能网速不稳定,这里就需要我们再.repo/manifest.xml文件去修改我们的下载地址,通过这篇《魔趣开源项目定制版Repo-全程无需科学上网环境同步完整Android源码库》帖子,我们可以进行下载环境的搭建。这里我们就选择了清华大学镜像,改为https://aosp.tuna.tsinghua.edu.cn/在这里插入图片描述
    更改后初始化repo并且同步下载8.1的源码:

    $ repo sync
    

    来看一张下载完成后的效果图:
    在这里插入图片描述
    上面的红框是我在编译源码的过程中产生的,这里可以忽略掉,下载完成后是没有这些文件的。

    安装编译环境

    安装OpenJDK

    在这里插入图片描述
    官网中要求,编译7.0和8.0版本源码我们这里就安装OpenJDK安装,参考这篇文章《CentOS7 使用yum命令安装Java SDK(openjdk)》
    在这里插入图片描述

    安装所需的软件包

    虽然官方给我们推荐的是Ubuntu,但是我们公司给我提供的服务器环境是centos 6.5
    在这里插入图片描述这里我找了些资料去安装我们的环境,我看了这篇文章CentOS7上编译Android系统执行了下面的命令。

    $ sudo yum install -y gcc make libstdc++.i686 libstdc++-devel.i686 zlib-devel openssl-devel perl cpio expat-devel gettext-devel autoconf glibc.i686 glibc-devel.i686 zlib-devel.i686 libstdc++.i686 libX11-devel.i686 ncurses-devel.i686 ncurses-libs.i686 gperf flex gcc-c++ bison patch
    

    注意:因为我之后又在Unbuntu平台下安装了一遍所以这里可以给搭建一些我Unbuntu的命令

    bc bison build-essential ccache curl flex g++-multilib gcc-multilib git gnupg gperf imagemagick lib32ncurses5-dev lib32readline-dev lib32z1-dev liblz4-tool libncurses5-dev libsdl1.2-dev libssl-dev libwxgtk3.0-dev libxml2 libxml2-utils lzop pngcrush rsync schedtool squashfs-tools xsltproc zip zlib1g-dev
    

    将上面的软件使用apt-get命令去安装即可。
    参考链接:https://wiki.lineageos.org/devices/natrium/build

    编译中产生的问题

    在小节内容都是我在编译中产生的问题,放在编译小结前面,主要是让大家先阅览产生印象,如果你在编译过程中也产生了类似的问题,可以参考我发的链接进行修改,目前编译的出现报错的问题我分为两类:

    • 安装包的缺失和不适配问题
    • 编译机器配置问题

    安装包的问题

    这里安装包的问题,我们可以提前的解决编译的时候,就可以节省很多时间,因为,我是自己摸索编译的相关资料很少,就自己采坑后重新编译。

    • Glibc 版本过旧的问题
      在编译过程中,会提示我编译需要Glibc 2.15,由于我们当前的版本是2.13,达不到编译的要求会出现错误,这里我们参考看这篇文章进行版本升级和安装。

    • 缺失ImageMagick软件包

    ============================================
    ninja: no work to do.
    ninja: no work to do.
    /var/android/rom/mokee/source/out/build-mk_rolex.ninja is missing, regenerating...
    [1070/1081] including ./vendor/mk/bootanimation/Android.mk ...
    **********************************************
    The boot animation could not be generated as
    ImageMagick is not installed in your system.
    
    Please install ImageMagick from this website:
    https://imagemagick.org/script/binary-releases.php
    **********************************************
    

    这里我们参考这篇文章《Centos7安装ImageMagick》

    • Zlib版本不适配
    FAILED: 
    /var/android/rom/mokee/source/out/host/linux-x86/bin/aapt: 
    /lib64/libz.so.1: version `ZLIB_1.2.3.4' not found (required by /var/android/rom/mokee/source/out/host/linux-x86/bin/aapt)
    ninja: build stopped: subcommand failed.
    

    参考《version ZLIB_1.2.3.4 not found 解决方法》按照这篇文章我的编译是成功的,但是我们需要注意一个点,修改后再次查看命令还是1.2.3版本:

    [mujf@pbx-test01 lib64]$ rpm -qa | grep zlib
    zlib-1.2.3-29.el6.i686
    zlib-devel-1.2.3-29.el6.x86_64
    zlib-devel-1.2.3-29.el6.i686
    zlib-1.2.3-29.el6.x86_64
    

    也就是说使用文章的方法安装Zlib并没有覆盖原有的版本进行升级的效果,这里我暂时没有找到好的方案去升级。

    编译机器配置问题在这里插入图片描述

    在官网的要求中,这需要16G的内存是标配,但是公司给的内存也就是8G所以常常会出现内存不足的情况,因为编译的时候是用的jack,这里我也是勉强的去使用,就需要更改下配置。
    在这里插入图片描述

    • 修改Jack内存配置
    FAILED: /var/android/rom/mokee/source/out/soong/build.ninja
    /var/android/rom/mokee/source/out/soong/.bootstrap/bin/soong_build  -t -b /var/android/rom/mokee/source/out/soong -d /var/android/rom/mokee/source/out/soong/build.ninja.d -o /var/android/rom/mokee/source/out/soong/build.ninja Android.bp
    fatal error: runtime: out of memory
    

    编译的时候,显示log出错,内存不足,我查看本机的内存发现还有4个G。我参考了这篇文章《编译CM14.1 提示Jack “Out of memory error”错误》,配置适合本机的Jack内存为8G。
    在这里插入图片描述
    在上面的路径下找到我们的jack-admin文件,按照下面的命令去修改
    在这里插入图片描述
    这里的修改命令,Xmx4096对应的内存是8G,修改后进行错误的重启。

    #先停止服务
    prebuilts/sdk/tools/jack-admin stop-server
    #重新开始服务
    prebuilts/sdk/tools/jack-admin start-server
    

    效果图:
    在这里插入图片描述

    • JVM内存不足的问题
    [ 83% 80128/96322] Docs droiddoc: /var/android/rom/mokee/source/out/target/common/docs/api-stubs
    FAILED: /var/android/rom/mokee/source/out/target/common/docs/api-stubs-timestamp
    /bin/bash /var/android/rom/mokee/source/out/target/common/docs/api-stubs-timestamp.rsp
    OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000c4180000, 103809024, 0) failed; error='Cannot allocate memory' (errno=12)
    #
    # There is insufficient memory for the Java Runtime Environment to continue.
    # Native memory allocation (mmap) failed to map 103809024 bytes for committing reserved memory.
    # An error report file with more information is saved as:
    # /var/android/rom/mokee/source/hs_err_pid13087.log
    ninja: build stopped: subcommand failed.
    

    今天在编译到83%的时候,曝出上面的错误,看网上的文章应该是内存不够,本来我编译的时候只有8GB内存,编译8.1的源码肯定会出现问题。我参考了这篇文章创建swap(交换区)方案,当内存不够的时候使用交换空间去做临时方案。

    编译源码

    如果提前解决上面的问题,那么现在我们编译肯定是顺风顺水了,在魔趣论坛的《5行命令教你编译魔趣》这个帖子中,我了解到了一些流程,现在就动手实践一下:

    source build/envsetup.sh
    lunch  mk_rolex-userdebug
    mka bacon -j1 > make.log
    

    PS:这里有个指令 make clobber 是清除编译缓存,简单说就是删掉out文件夹下面内容。

    下面的source命令,就是初始化编译环境变量这些变量的设置只有在当前的会话中有用,如果出现断网后面的lunchmka命令就无法执行,需要重新执行source命令。

    • lunch命令
      lunch命令后的跟的是开发代号,这里我们可以在魔趣设备支持列表中找到红米5A代号。
      在这里插入图片描述

    • mka bacon -j1 > make.log
      这里当上面命令完成后,我们将使用一个cpu去编译所有源码这里可以根据自身的配置,来使用-j[num]来编译,数字代表使用几个cpu内核来编译,这里的log是我们编译中产生的日志信息。

      关于命令的的作用参考《Android编译系统详解(一)——build/envsetup.sh》

    注意点

    在编译过程中,我们可能会出现各种相对自己机子的报错,但是我们并不需要重新的去编译我们的文件,当我们解决当前报错的问题后,在SSH没有断开的情况下重新执行编译命令mka bacon -j1 > make.log会继续我们上次报错的点来继续编译。

    写到这里我们对命令的简单实用应该已经基本知晓了,但是正所谓知其所以然,我们要了解命令背后的含义还需要看一下老罗的这篇文章《Android编译系统环境初始化过程分析》

    编译完成

    下面放一张编译完成后的效果图:
    在这里插入图片描述
    在这里插入图片描述
    上面的镜像文件就是我们通常刷机时候需要的文件,我们再来看看MK81.0-rolex-201901191847-UNOFFICIAL.zip文件内容。在这里插入图片描述
    在官方发布的rom每夜版MK81.0-rolex-201901211301-NIGHTLY.zip中和我们编译后产生的zip包命名很类似,在这里我们应该已经猜测到了,每夜版本就是通过这种方式产生的,我们来看下官方发布的zip包中的内容证实一下。
    在这里插入图片描述
    文件名称完全是一样的,在这里我们就可以肯定,官方的代码也是通过我们的这种方式得到。

    结束语

    在编译的整个过程中,因为我是最低的配置去编译8.1的源码,总共就花费了将近20个小时。期间还出现了很多问题,不过总算是编译完成,其实有点幸运的成分在其中,毕竟我因为内存吃紧报错出现了很多问题了,都几度想放弃还是坚持下来了。编译只是第一步,下面我们需要将编译出来的魔趣OS刷机包刷入到手机中,这样我们才能进行后续的研发工作,感兴趣的可以看我的下一篇文章《定制ROM采坑之路(2):魔趣OS刷入小米5A手机过程详解》

    参考文章

    展开全文
  • 本帖最后由 土豆李 于 2015-6-19 19:14 编辑同步魔趣mkl-mr1最新源码流畅性就不用说了,自己感谢美吧添加来去电归属地优化内核WiFi秒连gps定位速度增大通话声音内置现在的主题感谢@很沉的风制作的主题MoKee Open...

    本帖最后由 土豆李 于 2015-6-19 19:14 编辑

    同步魔趣mkl-mr1最新源码流畅性就不用说了,自己感谢美吧

    添加来去电归属地

    优化内核

    WiFi秒连

    gps定位速度

    增大通话声音

    内置现在的主题感谢@很沉的风制作的主题

    MoKee OpenSource Changelog from 06/18/2015 - 06/19/2015

    ---------------------------------------------------------------

    Project: build

    •  Howard M. Harte - minnow_max: search for cm.mk in additional directories

    Project: packages/services/Telephony

    •  Kryten2k35 - Call recording encoder/format choice 2/3

    Project: packages/apps/Contacts

    •  Matt Garnes - Fix local account name display for groups.

    •  Rohit Yengisetty - Contacts : Change 'up' actionbar indicator to a check mark in add/edit contacts

    •  Martin Brabham - Remove arbitrary set visibility call

    Project: packages/apps/Dialer

    •  Danny Baumann - Ensure the smart dial name matcher is initialized in onStart().

    •  Kryten2k35 - Call recording encoder/format choice 1/3

    Project: packages/apps/Mms

    •  martincz - Update Translations

    Project: packages/apps/ContactsCommon

    •  Matt Garnes - Add local phone account as a writable AccountTypes.

    •  Michael Bestas - Automatic translation import

    Project: packages/apps/InCallUI

    •  Adnan Begovic - InCallUi: Mitigate redial/recent call double tap state loss.

    Project: packages/apps/MoKeeSetupWizard

    •  cretin45 - SetupWizard: Add hook to finish setup for CTS automation

    •  Roman Birg - SetupWizard: allow FINISH_SETUP to be granted via whitelist

    •  cretin45 - SetupWizard: Ensure setup complete flags are set for secondary users

    •  martincz - Automatic translation import

    Project: packages/apps/Settings

    •  Adnan Begovic - Settings: Disable mobile network settings if sub is invalid/unusable.

    •  d34d - Don't clear cache on null UiDetailProvider

    •  d34d - BatteryLight: Reset all settings back to default

    Project: device/lge/e980

    •  JustAkan - sepolicy: add e980 sepolicy

    •  Ryuinferno - Revert "e980: Fix sepolicy"

    •  Ryuinferno - e980: Fix sepolicy

    Project: device/samsung/serrano-common

    •  Arne Coucheron - prop: Increase large font cache size

    •  Arne Coucheron - prop: Update mm.enable.qcom_parser value

    •  Arne Coucheron - prop: Enable AAC 5.1 output

    •  Arne Coucheron - audio: Sync audio_policy.conf with LA.AF

    •  Arne Coucheron - overlay: Use material style app drawer as the default

    Project: device/htc/m8

    •  Ethan Chen - tfa9887: Switch TFA speaker mode on stream start

    Project: android

    •  martincz - switch to our project

    Project: frameworks/base

    •  martincz - Revert "PackageManagerService: Don't attempt to dexopt platform-res."

    •  Adnan Begovic - PackageManagerService: Don't attempt to dexopt platform-res.

    •  Kryten2k35 - Call recording encoder/format choice 3/3

    •  martincz - Automatic translation import

    •  martincz - Update Translations

    •  d34d - Show reboot dialog using themed resources

    •  d34d - Get themed resources in KeyButtonView

    •  Roman Birg - SystemUI: hide blur when showing keyguard media

    Project: external/mokee/MoKeeHelper

    •  martincz - Automatic translation import

    Project: vendor/mk

    •  martincz - update prebuilts

    •  martincz - Revert "update prebuilt app"

    Project: vendor/motorola/titan

    •  martincz - Update proprietary libs

    Project: vendor/xiaomi/cancro

    •  martincz - Update proprietary libs

    下载地址

    2015-6-19 18:42 上传

    247209944e3e8d2fd8da0ab92860c50e.gif

    c96d6e9a0885bfc0b2fd4bc20189f3e8.gif

    5dc54291d53d1a7d5b739baf43653876.gif

    2015-6-19 18:42 上传

    247209944e3e8d2fd8da0ab92860c50e.gif

    c96d6e9a0885bfc0b2fd4bc20189f3e8.gif

    5dc54291d53d1a7d5b739baf43653876.gif

    2015-6-19 18:42 上传

    247209944e3e8d2fd8da0ab92860c50e.gif

    c96d6e9a0885bfc0b2fd4bc20189f3e8.gif

    5dc54291d53d1a7d5b739baf43653876.gif

    2015-6-19 18:43 上传

    247209944e3e8d2fd8da0ab92860c50e.gif

    c96d6e9a0885bfc0b2fd4bc20189f3e8.gif

    5dc54291d53d1a7d5b739baf43653876.gif

    2015-6-19 18:43 上传

    247209944e3e8d2fd8da0ab92860c50e.gif

    c96d6e9a0885bfc0b2fd4bc20189f3e8.gif

    5dc54291d53d1a7d5b739baf43653876.gif

    2015-6-19 18:43 上传

    247209944e3e8d2fd8da0ab92860c50e.gif

    c96d6e9a0885bfc0b2fd4bc20189f3e8.gif

    5dc54291d53d1a7d5b739baf43653876.gif

    2015-6-19 18:43 上传

    247209944e3e8d2fd8da0ab92860c50e.gif

    c96d6e9a0885bfc0b2fd4bc20189f3e8.gif

    5dc54291d53d1a7d5b739baf43653876.gif

    2015-6-19 19:10 上传

    247209944e3e8d2fd8da0ab92860c50e.gif

    c96d6e9a0885bfc0b2fd4bc20189f3e8.gif

    5dc54291d53d1a7d5b739baf43653876.gif

    展开全文
  • 经常“搞机”的机友对魔趣应该不陌生,作为国内最大的非营利性ROM,ROM中有着很多国人需求的功能而备受青睐。昨天LineageOS发布了基于安卓8.1的LineageOS15.1,魔趣的主维护者马丁龙猪表示,事实上早在2018年1、2...
  • 红米3 MoKee 7.1.2_r36 自编译版/去魔趣中心、宙斯盾/息屏禁止刷新UI 2018年5月5日更新...-附件资源
  • 魔趣 作为 全中国 最垃圾 的第 3 方 Rom,他难用,卡顿,耗电的原生风格Rom。不过经过我优化,他 现在 易用、流畅、省电 电话、短信 拨号面板快速查找联系人,快捷拨号、来电归属地等众多贴心设计。 百变...
  • 一、ROM简介  MoKee是基于CM二次修改的ROM,本地化系统:农历、归属地、OMS框架、状态栏显示网速/时间显秒等等。 二、ROM自编译DIY简介  1、Lawnchair桌面。... 4、去除魔趣中心、宙斯盾等一套服务。  5、...
  • 等来等去,魔趣官网一次又一次的编译失败后,2019.2.10终于编译成功了,我也是第一时间尝试了下。 不得不说,药丸是真的又好看又好用,让三大键去死吧。哈哈哈哈 后台多任务也是美滋滋。 由于我是xp框架和谷歌服务...
  • 魅族16s Pro搭载高通骁龙 855 Plus处理器,全系列配备UFS 3.0存储,采用第二代双超线性扬声器与mEngine 3.0触感引擎,支持OneMind 3.5智能调优,最新...版本介绍:魅族16s Pro魔趣100.0MK100.0-m1973-202009030525...
  • 首先根据魔趣官网论坛的教程安装 repo: 安装Repo: (如果你之前安装过Rpeo,请删除,必须要使用魔趣定制版本) 1.在当前用户的根目录创建bin文件夹,并添加到系统环境变量中。 $ mkdir ~/bin $ PATH=~/bin:$...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,536
精华内容 1,814
关键字:

编译魔趣