SherlockActionBar:导出签名apk,然后Eclipse崩溃:(

Voi*_*ode 7 eclipse ubuntu android actionbarsherlock

今天我完成了测试我的新Android应用程序..

我使用SherlockActionBar.

导入为/库

我的操作系统是Ubuntu 12.10 64bit ..

我可以从Eclipse构建.apk,应用程序在我的Android 2.3.3(移动设备)和我的Android 4.0(平板电脑)上运行.

但当我尝试:Android tools -> Export signed application package,然后Eclipse崩溃:(

我收到此错误:(在导出/崩溃之前)

Invalid ZIP archive: /home/voidcode/Ubuntu One/workspace/JakeWharton-ActionBarSherlock-e5c2d1c/library/bin/library.jar
Run Code Online (Sandbox Code Playgroud)

这是我在崩溃后在Eclipse文件夹中找到的错误日志:http: //paste.ubuntu.com/1677938/

我的AndroidManifest.xml看起来像这样:

<uses-sdk
    android:minSdkVersion="4"
    android:targetSdkVersion="15" />
Run Code Online (Sandbox Code Playgroud)

我的project.properties看起来像这样:

# This file is automatically generated by Android Tools.
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
#
# This file must be checked in Version Control Systems.
#
# To customize properties used by the Ant build system edit
# "ant.properties", and override values to adapt the script to your
# project structure.
#
# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt

# Project target.
target=android-14
android.library.reference.1=../JakeWharton-ActionBarSherlock-e5c2d1c/library
Run Code Online (Sandbox Code Playgroud)

Kir*_*irk 19

您可能想要检查项目中的一些内容.

  • 您的project.properties文件以Android API14为目标,但您的清单目标是API15.这些应该是一样的
  • Sherlock ActionBar仅适用于API7 +.这实际上可能是你的问题.尝试android:minSdkVersion="4"改为android:minSdkVersion="7"
    • 显然这不会允许Android 2.1之前的任何东西,但你仍然会瞄准近100%的生态系统.

如果这不起作用,我也遇到了很多麻烦,导出包解决方案也相当随机.

我的一般解决方案是禁用自动构建,清理它然后手动构建库项目.

例如

  • 项目菜单下
  • 取消自动生成
  • 然后Project > Clean ...
  • 在此窗口中,取消选中立即开始构建
  • 选择清除所有项目,然后单击确定
  • 选择您的Sherlock ActionBar项目
  • 项目 > 构建项目(不是全部构建).
    • 这将只构建这一个库
    • 对包含的任何库项目执行此操作.
  • 单击"立即",将项目导出为已签名的APK.

这通常适用于我,并停止了许多无法解释的出口问题.