因此,我试图使用Android SQLite资产助手与我的应用程序预先打包数据库,并且遇到了问题。这里有一点点信息上手:Android SQLite资产助手错误
- 使用过Android Studio(gradle这个)
- 我已经修改build.grade包括
compile 'com.readystatesoftware.sqliteasset:sqliteassethelper:+'
- 我有我的数据库压缩(workoutsDatabase.sqlite.zip)在我的src/main /资产/数据库文件夹
我WorkoutsDatabaseHelper.java如下所示(对不起,坏的格式化,格式化今早愚蠢!)
import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteQueryBuilder; import com.readystatesoftware.sqliteasset.SQLiteAssetHelper; public class WorkoutsDatabaseHelper extends SQLiteAssetHelper {
//所有静态变量 //数据库版本 private static final int DATABASE_VERSION = 1;
// Database Name private static final String DATABASE_NAME = "workoutsDatabase.sqlite"; public WorkoutsDatabaseHelper(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); }
任何人都可以看到这可能是为什么认为.jar文件是一个zip?还有,还有什么我错过,让这个工作正常?
以下是错误:
Error:: error reading /Users/rdeckert/AndroidStudioProjects/MyPR/app/libs/android-sqlite-asset-helper.jar; cannot read zip file
Error:Execution failed for task ':app:preDexDebug'.
> com.android.ide.common.internal.LoggedErrorException: Failed to run command:
/Applications/Android Studio.app/sdk/build-tools/19.0.3/dx --dex --output /Users/rdeckert/AndroidStudioProjects/MyPR/app/build/pre-dexed/debug/android-sqlite-asset-helper-295afb1e2c04cd27e606e7f0ffde55bd32716c79.jar /Users/rdeckert/AndroidStudioProjects/MyPR/app/libs/android-sqlite-asset-helper.jar
Error Code:
1
Output:
UNEXPECTED TOP-LEVEL EXCEPTION:
java.util.zip.ZipException: error in opening zip file
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(ZipFile.java:128)
at java.util.zip.ZipFile.<init>(ZipFile.java:145)
at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:244)
at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:166)
at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144)
at com.android.dx.command.dexer.Main.processOne(Main.java:596)
at com.android.dx.command.dexer.Main.processAllFiles(Main.java:498)
at com.android.dx.command.dexer.Main.runMonoDex(Main.java:264)
at com.android.dx.command.dexer.Main.run(Main.java:230)
at com.android.dx.command.dexer.Main.main(Main.java:199)
at com.android.dx.command.Main.main(Main.java:103)
1 error; aborting
我试图更新Zip文件(数据库),并没有做任何事情。
我猜你的压缩文件的名称应该是workoutsDatabase.zip而不是workoutsDatabase.sqlite.zip –