网站/小程序/APP个性化定制开发,二开,改版等服务,加扣:8582-36016

    小编最近在做系统源码导出来的小项目,在导入androidstudio过程中遇到过一些问题,本文以Schedule power on off为例给大家详细介绍,需要的朋友参考下吧

    最近公司需要做一些将系统源码导出来,然后加入一些功能,在导入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使用:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    allprojects {

        repositories {

            jcenter()

        }

        gradle.projectsEvaluated {

            tasks.withType(JavaCompile) {

    //使用全路径

                options.compilerArgs.add('-Xbootclasspath/p:D://workspace/SchedulePowerOnOff-master/app/ext_libs/framework.jar')

            }

        }

      

    }

    1

    2

    3

    4

    5

    6

    7

    8

    9

    android{

     repositories {

            flatDir {

                dirs 'libs'

            }

        }

    //    u

    ......

    }

    1

    provided files('ext_libs/framework.jar')

    使用provided只是在编译时使用,不打包到apk中 

    build.gradle

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    allprojects {

        repositories {

            maven {

    //            url 'https://maven.google.com/'

                url 'https://dl.google.com/dl/android/maven2/'

                name 'Google'

            }

            jcenter()

             

        <360>}

        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导入系统源码的详细内容,


    评论 0

    暂无评论
    0
    0
    0
    立即
    投稿
    发表
    评论
    返回
    顶部