androidstuio导入系统源码 关于androidstuio导入系统源码的问题

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

androidstuio导入系统源码 关于androidstuio导入系统源码的问题

Asin²+cos²=1   2021-06-11 我要评论
想了解关于androidstuio导入系统源码的问题的相关内容吗,Asin²+cos²=1在本文为您仔细讲解androidstuio导入系统源码的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:androidstuio导入系统源码,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一下,发现隐藏方法导包成功。到此就结束了。

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们