`
ericbaner
  • 浏览: 176972 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

【转】Android编程之解决android-support-v4打包问题

 
阅读更多

如果工程引入了android-support-v4的jar类库,那么在工程打包混淆时,就会出现报错提示。例如提示你:You may need to specify additional library jars (using '-libraryjars')。

这里先给出解决方案,稍后我们再来解释如何处理类似情况:

在proguard.cfg里的后面,添加如下内容:
[java]
-libraryjars /android-support-v4.jar 
-dontwarn android.support.v4.** 
-keep class android.support.v4.** { *; } 
-keep public class * extends android.support.v4.** 
-keep public class * extends android.app.Fragment 

然后你再打包看看,应该可以正常生成apk安装包了。


打包出错:
情况一:
 "类1 can't find referenced class 类2" 字面上的意思就是类1找不到类2的引用;它会建议你:"You may need to specify additional library jars (using '-libraryjars').";
需要使用-libraryjars加上项目中使用到的第三方库就OK了。
例如:-libraryjars /android-support-v4.jar
注意:这里引用方式是当前工程的根目录(也可以配置其他目录),也就是说,你要把第三方jar放到当前目录下,否则就会警告说找不到jar文件!

情况二:
例如: can't find superclass or interface android.os.Parcelable$ClassLoaderCreator,碰到这样的情况,可以使用-dontwarn com.xx.yy.**,不对错误提出警告。
注意:使用这个方式的话,要确保自己没有用到这个库里面的类!否则就会抛ClassNotFoundException!

情况三:
在工程中确实用到了该类,采用上面方式还是不行。这个时候就要再增加一项:-keep class com.xx.yy.** { *;},让当前类不混淆。

小结:
对于引用第三方包的情况,可以采用下面方式避免打包出错:
-libraryjars /aaa.jar
-dontwarn com.xx.yy.**
-keep class com.xx.yy.** { *;}

最后打包成功,还要在机子上跑跑,看看有没有问题。

分享到:
评论

相关推荐

    android-support-v4.jar各种版本

    内容包含:android-support-v4_1.6.0_26_20120316.jar android-support-v4_1.6.0_26_20120623.jar android-support-v4_1.6.0_26_20120730.jar android-support-v4_1.6.0_26_20121109.jar android-support-v4_1.6.0_26...

    android-support-v4-v7-v13-v14-v17(官方最新完整版)

    android-support-v4-v7-v13-v14-v17(官方最新完整版),官方最新版的,压缩包内包含android-support-v4、android-support-v7-appcompat,android-support-v7-cardview,android-support-v7-gridlayout,android-support-...

    android支持包:android-support-v4

    Android Support Library V4,简称`android-support-v4`,是Android开发者广泛使用的库,旨在提供对Android早期版本的兼容性,同时包含许多先进的特性,使得应用能够运行在从Android 2.1 (API级别7)到最新的Android...

    Unity与Android交互的适配包android-support-v4.jar,android-support-v7-appcompat.jar

    1、android-support-v4.jar,android-support-v7-appcompat.jar,非常实用的jar文件,不可缺少,兼容Android 对应版本,包中包含类许多我们可以调用的,如widget、view、util等等。 2、导入Unity或者Android Studio...

    android-support-v4.jar最新版

    `android-support-v4.jar`是这个库的封装形式,其中包含了大量对旧版本Android API的兼容性实现。 **1. 兼容性** Android Support Library v4的主要目标是解决Android平台版本间的兼容性问题。由于Android设备的...

    android-support-v4-25.zip

    android-support-v4-25.3.1(由下面的5个小包合并) v4-support-compat-25.3.1 v4-support-core-ui-25.3.1 v4-support-core-utils-25.3.1 v4-support-fragment-25.3.1 v4support-media-compat-25.3.1

    android-support-v4.jar.zip

    implementation 'com.android.support:support-v4:<latest_version>' } ``` 替换`<latest_version>`为当前的最新版本号。 2. 同步Gradle项目,等待依赖下载完成。 3. 使用v4库的类和方法。例如,引入Fragment...

    android-support-v4/v7 26 27 28三个版本下载

    `android-support-v4`库是为了保证在Android API Level 4(即Android 1.6)以上版本运行的功能兼容性,而`appcompat-v7`库则提供了对Android Material Design设计风格的支持,并且同样确保在低版本系统上的兼容。...

    解决android-support-v4.jar无法找到checkSelfPermission

    在Android开发过程中,`android-support-v4.jar`是一个至关重要的库文件,它为早期版本的Android提供了对新API的支持,使得开发者能够在低版本系统上实现高级功能。在本问题中,开发者遇到了`checkSelfPermission`...

    最新版android-support-v4.jar

    这是最新版的android-support-v4.jar,大小1MB多,比其它那种几百K的要大,因为这是最新的android-support-v4.jar,有最新的android.support.v4.view.animation类,现在是2015年10月,这是截至目前最新的jar包

    android-support-v4.jar

    本文将深入探讨`android-support-v4.jar`的背景、功能以及如何解决高版本权限函数报错问题。 首先,`android-support-v4`库是Google官方推出的一个组件,其主要目的是为了帮助开发者实现对Android API Level 4(即...

    android-support-v4和android-support-v7

    在使用QMUI或其他第三方库时,可能会遇到与`android-support-v4`和`android-support-v7`相关的依赖冲突问题。例如,QMUI可能已经包含了这两个库的某个版本,而项目中可能有其他依赖也引入了不同版本的库。这种情况下...

    android-support-v4 android-support-v7-appcompat

    在Android开发中,`android-support-v4`和`android-support-v7-appcompat`是两个非常重要的库,它们为开发者提供了对旧版本Android系统的兼容性支持。这两个库是Google官方为了帮助开发者解决Android版本碎片化问题...

    android-support-v4-23

    高版本的android-support-v4包

    android-support-v7-appcompat.jar android-support-v4.jar

    在Android开发中,`android-support-v7-appcompat.jar` 和 `android-support-v4.jar` 是两个非常重要的库文件,它们提供了对旧版本Android系统的重要支持和功能扩展。 首先,`android-support-v7-appcompat.jar` 是...

    Android Q下使用android-support-v4的资源包下载

    随着Android Q操作系统的问世,争对权限及非官方SDK的限制,我对原v4的包进行优化处理,去除了一些(用Google verider扫描工具)一些黑名单接口,用这个包在AndroidQ下就不会有问题,至少本人在几个Android 10 beta版...

    android-support-v4 .jar,android-support-annotations.jar

    标题提到的"android-support-v4 .jar"和"android-support-annotations.jar"是Android支持库中的两个关键组件。 "android-support-v4 .jar"是Android支持库的v4版本,它是对Android API Level 4(Android 1.6 Donut...

    appcompat-v7 support-v4

    在Android开发中,`appcompat-v7`和`support-v4`是两个非常重要的库,它们主要用于提供对老版本Android API的支持,同时也包含了各种增强功能和组件。这两个库由Google官方维护,是Android开发者在构建应用程序时...

    android-support-v4-src源码

    在Android应用开发中,`android-support-v4`库是一个不可或缺的部分,它提供了对低版本Android系统的重要支持,使得开发者可以使用最新的API特性,而无需担心设备的兼容性问题。这个库包含了大量的类和方法,覆盖了...

Global site tag (gtag.js) - Google Analytics