最近由于工作的原因要修改一下 Settings 这个应用。我已经下载 Android5.1 的源代码,并且可以在模拟器上运行,包括修改 Settings 后,应用到模拟器上也完成了。
现在的疑问是如何更方便的修改,并且应用到模拟器上。
如果是直接对源码进行修改,会进行下述步骤:
1. mmm packages/app/Settings
2. adb remount
3. adb sync
感觉时间挺长,尤其是"adb sync"似乎特别慢。并且我对代码进行修改也只能使用 vim 或者其它文本编辑器,并不能用 IDE 进行辅助。
如果考虑使用 IDE ,现在我可以编译成功的是使用 Android Studio 。但是配置也很麻烦,我修改了以下部分:
1. 引入源码环境中的 library ,比如"framework.jar", "core-libart.jar"等等( jar 名是根据文件夹进行命名的,便于管理)。
2. 手动删除 strings.xml 中重名的 string 。
3. 对 gradle 进行配置,使得优先使用 libs 中的依赖。
其中 2 比较麻烦,除了要手动删除外,还需要删除其它语言的 values ,否则每一种语言都要手动删除根本不可能。感觉这样对源码修改了太多,就算只保留中文,英文,那我还需要禁用切换系统语言的选项。
即便如此, Android Studio 也不能够直接安装 Settings.apk ,每次修改后我还需要按照下面的步骤进行操作:
1. 使用 Android Studio 运行一次代码,虽然会失败,但是可以生成 apk
2. adb remount
3. adb shell
4. rm /system/priv-app/Settings/Settings.apk (2,3,4 是为了删除上一次安装的包)
5. adb push Settings.apk /system/priv-app/Settings/ (手动将编译好的包传到模拟器)
如果按照这个步骤来做,使用 IDE 感觉更麻烦了,还不如直接修改源码。并且从代码管理上来说,直接将 packages/app/Settings 放到 SVN 显得更清晰,不容易出错。
所以想请问大家有什么更好的建议吗?
现在的疑问是如何更方便的修改,并且应用到模拟器上。
如果是直接对源码进行修改,会进行下述步骤:
1. mmm packages/app/Settings
2. adb remount
3. adb sync
感觉时间挺长,尤其是"adb sync"似乎特别慢。并且我对代码进行修改也只能使用 vim 或者其它文本编辑器,并不能用 IDE 进行辅助。
如果考虑使用 IDE ,现在我可以编译成功的是使用 Android Studio 。但是配置也很麻烦,我修改了以下部分:
1. 引入源码环境中的 library ,比如"framework.jar", "core-libart.jar"等等( jar 名是根据文件夹进行命名的,便于管理)。
2. 手动删除 strings.xml 中重名的 string 。
3. 对 gradle 进行配置,使得优先使用 libs 中的依赖。
其中 2 比较麻烦,除了要手动删除外,还需要删除其它语言的 values ,否则每一种语言都要手动删除根本不可能。感觉这样对源码修改了太多,就算只保留中文,英文,那我还需要禁用切换系统语言的选项。
即便如此, Android Studio 也不能够直接安装 Settings.apk ,每次修改后我还需要按照下面的步骤进行操作:
1. 使用 Android Studio 运行一次代码,虽然会失败,但是可以生成 apk
2. adb remount
3. adb shell
4. rm /system/priv-app/Settings/Settings.apk (2,3,4 是为了删除上一次安装的包)
5. adb push Settings.apk /system/priv-app/Settings/ (手动将编译好的包传到模拟器)
如果按照这个步骤来做,使用 IDE 感觉更麻烦了,还不如直接修改源码。并且从代码管理上来说,直接将 packages/app/Settings 放到 SVN 显得更清晰,不容易出错。
所以想请问大家有什么更好的建议吗?