Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/202.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android:已签名的Apk文件不包括外部库和抛出;java.lang.ExceptionInInitializerError“;_Android_Actionbarsherlock_Apk - Fatal编程技术网

Android:已签名的Apk文件不包括外部库和抛出;java.lang.ExceptionInInitializerError“;

Android:已签名的Apk文件不包括外部库和抛出;java.lang.ExceptionInInitializerError“;,android,actionbarsherlock,apk,Android,Actionbarsherlock,Apk,我最近签署了一个apk文件,准备在Google Play上发布。当我在Google Play上下载并安装该应用程序时,它会抛出java.lang.ExceptionInInitializerError 我的同事和我怀疑该库没有被添加到我们已签名的apk文件中 我们通过将附加库添加到项目的构建路径,将其添加到项目中 此外,我们试图添加到项目中的库是ActionBarSherlock 我们的库没有包含在签名的apk文件中,因为我们注意到签名的apk的文件大小比未签名的版本小很多,这有什么原因吗 有人

我最近签署了一个apk文件,准备在Google Play上发布。当我在Google Play上下载并安装该应用程序时,它会抛出java.lang.ExceptionInInitializerError

我的同事和我怀疑该库没有被添加到我们已签名的apk文件中

我们通过将附加库添加到项目的构建路径,将其添加到项目中

此外,我们试图添加到项目中的库是ActionBarSherlock

我们的库没有包含在签名的apk文件中,因为我们注意到签名的apk的文件大小比未签名的版本小很多,这有什么原因吗


有人能告诉我们正确签署apk文件的正确方向吗?这样它就包含了我们添加到构建路径中的库。

我发现问题在于Proguard没有很好地使用ActionBarSherlock。尝试使用以下提示:


我不确定您的具体构建过程,我的建议是在构建过程中使用Maven。您的依赖性可能只用于调试版本,而不是发布版本。我建议的另一件事是,在将某些东西放到应用商店之前,使用Android调试桥(adb)手动将其安装到设备上,并检查是否存在此类错误。

我遇到了与Android.support.v4jar文件完全相同的错误。如果您查看ActionBarSherlock网站,deeJ是正确的,它会告诉您在proguard文件中添加以下内容:

-keep class android.support.v4.app.** { *; }
-keep interface android.support.v4.app.** { *; }
-keep class com.actionbarsherlock.** { *; }
-keep interface com.actionbarsherlock.** { *; }

-keepattributes *Annotation*

您能否检查sherlock库是作为android依赖项添加的,还是在您的项目结构的lib文件夹中?ActionBatSherlock是包含在构建路径中的单独项目。我刚刚检查了一下,我们把它作为一个android依赖项。可能是,您可能希望将android依赖项中生成并添加的jar复制到lib目录,然后将该jar添加到构建路径中。你能试试吗?我要求你这么做的原因是,如果你在android依赖项中有jar,这意味着应用程序希望它在android的system library文件夹中,但这是外部库,你应该在lib文件夹中,这样它就会包含在你的apk中。好吧,让你知道,我的项目中添加了sherlock,我刚刚导出了签名的apk,运行它绝对没有问题。我确实根据夏洛克的视频添加了这一点,这正是你的情况。我想你的问题是别的。在应用程序中是否使用任何本机库?