目前转移还不成功,有问题。只是记录过程,方便以后跟踪。
网上有很多转移的文章,大多数是在eclipse中使用export的方式,导出gradle文件,然后直接在studio中打开。我试过好多次,用了不同的工程,始终没能成功,各种错误都有,也没时间折腾了。
后来我就新建一个studio工程,把eclipse相关的内容直接拷贝到工程中,反正用到的就是资源,lib,文件,源文件等这些,移植过来也不是难事。也不需要在兼容用eclipse开发了。直接使用studio的工程模式。
导入一般的jar是没问题了。可是我的工程里面含有framework jar包。虽然把这个jar放入到了studio工程的libs下面,但是整个工程依赖的还是默认的sdk,一些隐藏的api还是无法调用,在build的时候就出错了。
然后就看到了网上的这篇文章:
http://blog.csdn.net/zhuzp_blog/article/details/51674468
从Eclipse 转到Android Studio,必经 的一个过程就是导入第三方jar包,导入普通的jar包方式比较简单,网上其他的例子也比较多,但是关于导入framework.jar包内容就比较少。 有时候开发需要一些依赖framework中隐藏方法的时候,我们可以导入framework.jar, 编译的时候依赖framework, 打包的时候不打进去,这在eclipse中实现方式比较简单,这里记录下Android studio中导入framework.jar包的方式,其他系统jar包的导入方式同理。
1,首先将framework.jar拷贝到项目的/libs文件夹中,然后右键framework.jar文件,然后Add as Library ,再选当前的module
完了之后,在你的Module的build.gradle中会增加了
这个时候我们已经添加了framework.jar包,但是我们还有改变framework.jar的作用域属性,右键你的module,Open Module Setting,然后将framework.jar的Scope改为 Provided
改了framework.jar的作用域后,Module的build.gradle也会有改变,之前的compile files(‘libs/framework.jar’),会变成provided files(‘libs/framework.jar’)
2,改了framework.jar 的scope后,再在修改project的build.gradle文件,改成如下所示
这是在原有的基础上加了gradle.projectsEvaluted{}里面的内容,这里要说明下”Xbootclasspath/p”后接的路径,是相对于当前Project的根目录,例子中的”:app\libs\framework.jar”其中的app为Module名,libs就是放framework.jar的文件夹了。
按照上面的方法设置了,build还是有错,使用隐藏的api还是提示未找到。于是在知乎上找到了答案:
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" exported="" name="classes-framework" level="project" />
<orderEntry type="library" exported="" name="classes-framework2" level="project" />
<orderEntry type="jdk" jdkName="Android API 19 Platform" jdkType="Android SDK" />
终于,编译通过了~
可是运行的时候出错了,目前还没找到原因,可能是引入的jar包有问题。哎,慢慢理吧
出现此错误的原因:
http://www.jianshu.com/p/833c97eb8ba7
http://blog.csdn.net/wuyoutiyu/article/details/52238647