如何导入系统编译出来的framework.jar啊?

大家好,小弟是studio初学者。我开发的应用是系统应用,有的时候需要调用客制化的framework中的隐藏方法或者变量。我之前是在eclipse中开发应用的,导入framework编译出来的中间jar很方便。。。现在不知道该如何导入framework.jar到studio中,我尝试在Project Struct->Dependencies中导入,导入后,还是有很多framework里的隐藏和定制的接口无法识别。。。有知道怎么导入的大哥吗?谢谢
2016-03-22 14:02 添加评论 分享
已邀请:

最佳回复

1

不良人 - http://www.bit100.com

赞同来自: ask

打开app目录下的build.gradle文件

在buildTypes代码块后面写上sourceSet代码,如下图

然后把你的jar包放在app/libs/文件夹下
最后在菜单栏点击Build ==>Rebuild Project
0

hxtrade8888

赞同来自:

没有人遇到过这种情况吗?额。。。
0

hxtrade8888

赞同来自:

在stackoverflow上问了下,找到解决办法了,看来国内的这些赢不行啊
0

android飞鱼 - 80IT

赞同来自:

兄弟解决了没有?我也是卡在这里了,一直想从eclipse中转过来却始终导入不了framework.jar。试了网上的各种方法都没有效果
0

hxtrade8888

赞同来自:

stackoverflow上找到解决方案了,自己顺别写了个博客:
核心的脚本是:

task pushDownJdkDependency {   
    def imlFile = file("launcher3.iml")  
    try {  
        def parsedXml = (new XmlParser()).parse(imlFile)  
        def jdkNode = parsedXml.component[1].orderEntry.find { it.'@type' == 'jdk' }  

        parsedXml.component[1].remove(jdkNode)  
        new Node(parsedXml.component[1], 'orderEntry', ['type': 'jdk', 'jdkName': "Android API 19 Platform", 'jdkType': 'Android SDK'])  
        def writer = new StringWriter()  
        new XmlNodePrinter(new PrintWriter(writer)).print(parsedXml)  
        imlFile.text = writer.toString()  
        } catch (FileNotFoundException e) {  
            // nop, iml not found  
        }  

}  


以及

android {  
...   
   allprojects {  

        gradle.projectsEvaluated {  
            preBuild.dependsOn(pushDownJdkDependency)  
            tasks.withType(JavaCompile) {  
                options.compilerArgs.add('-Xbootclasspath/p:libs/framework.jar')  
            }  
        }  
    }  
}  


具体做法可以参考我的文章android studio调试开发系统应用

要回复问题请先登录注册

退出全屏模式 全屏模式 回复