V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
hatcloud
V2EX  ›  Android

怎么更改 Android 系统设置的界面

  •  
  •   hatcloud · 2016-03-14 14:50:58 +08:00 · 11837 次点击
    这是一个创建于 3182 天前的主题,其中的信息可能已经有所发展或是发生改变。

    楼主刚加入一家公司,分到的项目组是在做电视盒子相关的东西。
    因为现在的那个盒子的系统设置界面还是用原生的,项目负责人希望我能把它改成适合电视操作的界面。
    然而作为一位才刚入职,而且经验不丰富的 Android 开发新手,我完全不知道该怎么着手去弄。

    我现在有这么几个困惑:

    1. 修改系统设置界面需要去看那些东西?
    2. 相关的资料哪里可以找到?
    3. 有类似的开源项目可以学习吗?
    4. 整个过程的思路大概是怎么样的?

    希望前辈们不吝赐教,随便解答一两个问题都是帮了大忙了。

    盒子的 rom 是基于 Android 4 的

    另附上项目负责人对我的原话:
    『那个谁啊,有看过 Android 源码吗?』
    『哦,没有啊,没事,你抽空看看呗,我希望你能改下这个系统设置的界面。』
    『嗯,没事,你就抽空看看,要是能行最好。』

    11 条回复    2016-03-19 15:37:57 +08:00
    b821025551b
        1
    b821025551b  
       2016-03-14 15:08:48 +08:00   ❤️ 1
    这不是改 rom 么?和 Android App 开发有关系么?
    asdwfwqd
        2
    asdwfwqd  
       2016-03-14 17:26:36 +08:00   ❤️ 1
    只改 settings.apk 不知道行不行,纯属猜测
    你的界面要改到什么程度
    简单的换换颜色可以用主题
    EP
        3
    EP  
       2016-03-14 17:34:00 +08:00   ❤️ 1
    本质上和 APP 开发一样,只是编译 Settings 的时候需要依赖 framework 。
    先编译整个 rom 源码,然后 mmm 模块编译 Settings 模块, adb push 来验证效果。
    我觉得既然你们项目是盒子,那还是先和其他同事了解一下 Rom 编译过程比较好。
    yuxing1171
        4
    yuxing1171  
       2016-03-14 17:39:12 +08:00   ❤️ 1
    不要去改, 自己做一个设置页面
    thinkloki
        5
    thinkloki  
       2016-03-14 17:46:38 +08:00   ❤️ 1
    我现在就在做这样的东西 WIFI ,热点功能快我把给搞死了。
    GhostFlying
        6
    GhostFlying  
       2016-03-14 18:33:05 +08:00   ❤️ 1
    Settings 和一般 App 区别也不大吧,就是那些实际的修改动作需要一些保护级别为 system 或者 signature 的权限,需要用 framework 的 key 来编译
    hatcloud
        7
    hatcloud  
    OP
       2016-03-14 19:03:36 +08:00
    @asdwfwqd 应该不可以吧,类似小米盒子那样,外观上更符合电视操作
    @GhostFlying orz ,没编译过系统源码,不知道怎么入手
    @thinkloki 求经验
    @EP 嗯,我问问,谢谢
    dphdjy
        8
    dphdjy  
       2016-03-14 21:36:55 +08:00 via Android   ❤️ 1
    重写一个, MIUI 也是,改动难度太大, setting 是 xml 生成的(大概
    icedx
        9
    icedx  
       2016-03-14 21:46:35 +08:00   ❤️ 1
    对 framework 进行重写
    thinkloki
        10
    thinkloki  
       2016-03-15 10:17:51 +08:00   ❤️ 1
    @hatcloud 你就看源码,源码里面有好多 API 是不能用的,那就用反射,现在开发工具上把功能给跑通了,然后在把方法替换成系统的方法,通过源码编译。
    huangjay
        11
    huangjay  
       2016-03-19 15:37:57 +08:00   ❤️ 1
    先把 Settings 模块的源码大概看一遍吧,网上 Settings 的源码解析还是很多的,如果在源码上面改,应该只是修改界面部分就行了, framework 的东西改到概率很小,不推荐不了解的情况下直接修改 framework 的东西,如果自己实现也要参考源码,很多功能源码都是可以搬过来的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2780 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 05:37 · PVG 13:37 · LAX 21:37 · JFK 00:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.