Android项目由Eclipse到Android Studio的完美迁移(包含友盟分享、百度统计、ViewPagerIndicat等第三方库文件、Jar包等)——项目迁移二

1、分别导出所有第三方库文件 为gradle项目(以方便引入到Android Studio中),导出步骤:右击项目名称......
                      

                     

导出成功后,会在原项目空间中多增加几个文件,如:build.gradle......
这样该库文件就可以被Android Studio引入。


2、添加jar文件:将Eclipse中libs文件夹下面的所有jar文件复制到Android Studio中,并右击所有jar文件-->Add as library......,稍等片刻该jar文件变为可以展开状态代表添加成功









                                         
 
    



出现可以展开状态代表该jar文件添加成功,并可以在Project Structure设置中查看到该jar文件已经在Dependencies中了







3、迁移Eclipse项目中的所有文件到Android Studio中,
参考: 第三方库文件 ViewPagerIndicator实现由Eclipse到Android Studio的完美迁移 http://blog.csdn.net/pillar1066527881/article/details/50807911


运行报错问题:
1、统一项目中引入的v4包,保证app中的和第三方库文件中的为同一个(点击+,选择1或3进行统一,3为添加自己复制进来的v4)
博主引入的如图:
 




2、注意若是自定义类中使用了继承Applictation的全局类MyApp,不要忘记在 AndroidManifest.xml给application设置name属性,博主因为漏掉设置这个,运行程序时出了各种奇葩异常,如:空指针、点击按钮或按返回键时异常崩溃退出再重新启动应用等(项目在Eclipse中运行很正常),最后发现MyApp并没有执行;


3、程序运行时提示图片资源文件找不到

可以将带hdpi等文件夹下面的图片依次复制到相应的mipmap-hdpi的文件夹下面,这样在运行时可能会报错,修改掉即可。
报错原因注意:不同分辨率的图片文件夹在Android Studio中变为了 mipmap-hdpi......所以复制完后凡是在这些文件夹下面的图片引用方式变为了 @mipmap/ic_launcher ,所以需要把所有引用该类图片的方式修改一下(修改布局文件中的和代码中的,如:R.drawable.ic_launcher变为了R.mipmap.ic_launcher)

4、修改启动图标:
将不同分辨率的启动图标分别放到各个分辨率的文件夹mipmap-hdpi......中即可,手机会自动适配找寻适合的图片;另,google推荐使用该文件夹放图片,可以适当缩放图片适配手机

5、运行报错:
Error:Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'.
> com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK META-INF/LICENSE.txt
    File1: C:\Users\topsage\workspace\APPDATABASE\CSDNBlog_AS\app\libs\fastjson-1.2.5.jar
    File2: C:\Users\topsage\workspace\APPDATABASE\CSDNBlog_AS\library_share_youmeng\libs\httpmime-4.1.3.jar


在app文件夹下面的build.gradle文件 android{}中添加:
packagingOptions {
exclude 'META-INF/DEPENDENCIES.txt'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/NOTICE'
exclude 'META-INF/LICENSE'
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/notice.txt'
exclude 'META-INF/license.txt'
exclude 'META-INF/dependencies.txt'
exclude 'META-INF/LGPL2.1'
}



猜你喜欢

转载自blog.csdn.net/pillar1066527881/article/details/50847765