使用android兼容包android-support-v4.jar出现的一些问题

分类:androidjava 765人阅读 评论(0) 收藏 举报

项目需要用到ViewPager,毫不犹豫的引入了官方提供的android-support-v4.jar

开发过程平淡无奇,签名打包时出现了两个问题

1.使用eclipse导出签名apk出现错误

[java] view plain copy
  1. [2011-11-0316:07:52-AndroidViewPager]Proguardreturnedwitherrorcode1.Seeconsole
  2. [2011-11-0316:07:52-AndroidViewPager]Note:therewere95duplicateclassdefinitions.
  3. [2011-11-0316:07:52-AndroidViewPager]Warning:android.support.v4.os.ParcelableCompatCreatorHoneycombMR2:can'tfindsuperclassorinterfaceandroid.os.Parcelable$ClassLoaderCreator
  4. [2011-11-0316:07:52-AndroidViewPager]Warning:android.support.v4.app.ActivityCompatHoneycomb:can'tfindreferencedmethod'voidinvalidateOptionsMenu()'inclassandroid.app.Activity
  5. [2011-11-0316:07:52-AndroidViewPager]Warning:android.support.v4.app.ActivityCompatHoneycomb:can'tfindreferencedmethod'voiddump(java.lang.String,java.io.FileDescriptor,java.io.PrintWriter,java.lang.String[])'inclassandroid.app.Activity
  6. [2011-11-0316:07:52-AndroidViewPager]Warning:android.support.v4.os.ParcelableCompatCreatorHoneycombMR2:can'tfindreferencedclassandroid.os.Parcelable$ClassLoaderCreator
  7. [2011-11-0316:07:52-AndroidViewPager]Warning:android.support.v4.os.ParcelableCompatCreatorHoneycombMR2:can'tfindreferencedclassandroid.os.Parcelable$ClassLoaderCreator
  8. [2011-11-0316:07:52-AndroidViewPager]Warning:android.support.v4.view.MenuCompatHoneycomb:can'tfindreferencedmethod'voidsetShowAsAction(int)'inclassandroid.view.MenuItem
  9. [2011-11-0316:07:52-AndroidViewPager]Warning:therewere3unresolvedreferencestoclassesorinterfaces.
  10. [2011-11-0316:07:52-AndroidViewPager]Youmayneedtospecifyadditionallibraryjars(using'-libraryjars'),
  11. [2011-11-0316:07:52-AndroidViewPager]orperhapsthe'-dontskipnonpubliclibraryclasses'option.
  12. [2011-11-0316:07:52-AndroidViewPager]Warning:therewere3unresolvedreferencestoprogramclassmembers.
  13. [2011-11-0316:07:52-AndroidViewPager]Yourinputclassesappeartobeinconsistent.
  14. [2011-11-0316:07:52-AndroidViewPager]Youmayneedtorecompilethemandtryagain.
  15. [2011-11-0316:07:52-AndroidViewPager]Alternatively,youmayhavetospecifytheoptions
  16. [2011-11-0316:07:52-AndroidViewPager]'-dontskipnonpubliclibraryclasses'and/or
  17. [2011-11-0316:07:52-AndroidViewPager]'-dontskipnonpubliclibraryclassmembers'.
  18. [2011-11-0316:07:52-AndroidViewPager]java.io.IOException:Pleasecorrecttheabovewarningsfirst.
  19. [2011-11-0316:07:52-AndroidViewPager]atproguard.Initializer.execute(Initializer.java:308)
  20. [2011-11-0316:07:52-AndroidViewPager]atproguard.ProGuard.initialize(ProGuard.java:210)
  21. [2011-11-0316:07:52-AndroidViewPager]atproguard.ProGuard.execute(ProGuard.java:85)
  22. [2011-11-0316:07:52-AndroidViewPager]atproguard.ProGuard.main(ProGuard.java:499)

原因:

[java] view plain copy
  1. AndroidCompatibilitylibraryreferencingclassesthatonlyexistinrecentversionsoftheAndroidAPI
解决方法:在项目的proguard.cfg文件中添加

                  [java] view plain copy                         
  1. -dontwarn**HoneycombMR2
  2. -dontwarn**CompatICS
  3. -dontwarn**Honeycomb
  4. -dontwarn**CompatIcs*
  5. -dontwarn**CompatFroyo
  6. -dontwarn**CompatGingerbread
具体要dontwarn哪些条目,可以根据报错来进行相应的修改


2.使用命令行脚本生成的apk无法运行,当运行到android-support-v4.jar相关的类时,出现ClassNotFoundException
解决方法:运行dx命令时,将android-support-v4.jar加入class.dex

[java] view plain copy
  1. %DX%--dex--output=%OUT_FOLDER%\classes.dex%OUT_CLASS_FOLDER%%THIRD_JAR%

参考

  1. http://stackoverflow.com/questions/7993608/i-am-getting-error-while-export-my-android-application-from-eclipse-which-use-an
  2. http://snmoney.blog.163.com/blog/static/440058201181011468397/

更多相关文章

  1. Android 开源项目 eoe 社区 Android 客户端
  2. [Android][Android Studio] *.jar 与 *.aar 的生成与*.aar导入项
  3. android项目目录结构
  4. flutter与android混合开发一:Android原生项目创建flutter模块、An
  5. Android网络游戏之神农诀项目开发--视频
  6. Android项目发布 ---- Jcenter篇
  7. Android Studio(五):修改Android Studio项目包名
  8. android项目案例6- 基于Android studio的android用户注册

随机推荐

  1. Android学习笔记(1)——什么是Android
  2. 基于 Android NDK 的学习之旅-----HelloW
  3. android:handler
  4. Android(安卓)样式的开发
  5. Android NDK简介
  6. Android中实现用命令行同步网络时间
  7. Android(安卓)6.0动态获取权限开源项目
  8. Android 4.0 将终结“部分”第三方ROM 的
  9. Android(安卓)的Handler、Looper和Messag
  10. Android--创建和使用数据库详细指南