关于androidstuio导入系统源码的问题
最近公司需要做一些将系统源码导出来,然后加入一些功能,在导入androidstudio过程中遇到过一些问题,这里记录下,方便以后需要。
一般导入成功的都是系统比较相对独立的app,比如计算器、Schedule power on off等,网上查阅一些资料后,最终解决。
这里以Schedule power on off为例。
1、导出Schedule power on off源码,路径为/package/apps/
如图:
新建androidstudio项目,导入相关代码以及相关资源文件,rebuild一下,发现报错。
为了能在android studio里使用framework层隐藏的接口,需要自己编译下framework的源码,得到framework.jar和classes.jar。具体路径如下:
如果编译debug版本:
out/target/product/projectXX/system/framewor framework.jar
如果是user版本:
out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes.jar
这里新建一个ext_libs,将class.jar改为framework.jar
app.build使用:
allprojects { repositories { jcenter() } gradle.projectsEvaluated { tasks.withType(JavaCompile) { //使用全路径 options.compilerArgs.add('-Xbootclasspath/p:D://workspace/SchedulePowerOnOff-master/app/ext_libs/framework.jar') } } }
android{ repositories { flatDir { dirs 'libs' } } // u ...... }
provided files('ext_libs/framework.jar')
使用provided只是在编译时使用,不打包到apk中
build.gradle中
allprojects { repositories { maven { // url 'https://maven.google.com/' url 'https://dl.google.com/dl/android/maven2/' name 'Google' } jcenter() } gradle.projectsEvaluated { tasks.withType(JavaCompile) { options.compilerArgs.add('-Xbootclasspath/p:D://workspace/SchedulePowerOnOff-master/app/ext_libs/framework.jar') } } }
然后rebuild一下,会发现隐藏的方法还是会报错。这是因为没有优先使用ext_libs下的framework.jar
修改:app.iml
如图
将截图处移至最后面。便可解决。
build一下,发现隐藏方法导包成功。到此就结束了。
以上就是关于androidstuio导入系统源码的详细内容,更多关于androidstuio导入系统源码的资料请关注脚本之家其它相关文章!
相关文章
Android Listview 滑动过程中提示图片重复错乱的原因及解决方法
android中listview是比较常见的组件,通过本文主要给大家分析Android中Listview滚动过程造成的图片显示重复、错乱、闪烁的原因及解决方法,顺便跟进Listview的缓存机制,感兴趣的朋友一起看下吧2016-08-08Android 中通过实现线程更新Progressdialog (对话进度条)
这篇文章主要介绍了Android 中通过实现线程更新Progressdialog (对话进度条)的相关资料,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下2016-11-11Flutter 弹性布局基石flex算法flexible示例详解
这篇文章主要为大家介绍了Flutter 弹性布局基石flex算法flexible示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2022-12-12Android入门之使用SimpleAdapter实现复杂界面布局
这篇文章主要为大家详细介绍了Android如何使用SimpleAdapter实现复杂的界面布局,文中的示例代码讲解详细,对我们学习Android有一定的帮助,需要的可以参考一下2022-11-11Android 几种屏幕间跳转的跳转Intent Bundle
这篇文章主要介绍了Android 几种屏幕间跳转的跳转Intent Bundle,有需要的朋友可以参考一下2013-12-12
最新评论