Java 在android studio中构建maven项目

Java 在android studio中构建maven项目,java,android,maven,android-studio,dependencies,Java,Android,Maven,Android Studio,Dependencies,在构建dain/leveldb(leveldb的纯java实现(用于在chronium中存储本地存储的key/value db))的jar之后: 使用java 8,并将它们导入到一个存根android项目中(构建/安装成功),我得到了以下异常: com.example.stubproject E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.stubproject, PID: 25695 java.lang

在构建dain/leveldb(leveldb的纯java实现(用于在chronium中存储本地存储的key/value db))的jar之后:

使用java 8,并将它们导入到一个存根android项目中(构建/安装成功),我得到了以下异常:

com.example.stubproject E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.example.stubproject, PID: 25695
    java.lang.NoSuchMethodError: No virtual method keySet()Ljava/util/concurrent/ConcurrentHashMap$KeySetView; in class Ljava/util/concurrent/ConcurrentHashMap; or its super classes (declaration of 'java.util.concurrent.ConcurrentHashMap' appears in /system/framework/core-oj.jar)
        at org.iq80.leveldb.util.Finalizer.destroy(Finalizer.java:104)
        at org.iq80.leveldb.impl.TableCache.close(TableCache.java:107)
        at org.iq80.leveldb.impl.DbImpl.close(DbImpl.java:270)
        at com.example.stubproject.MainActivity.onCreate(MainActivity.java:49)
        at android.app.Activity.performCreate(Activity.java:7327)
        at android.app.Activity.performCreate(Activity.java:7318)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1275)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3095)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3258)
        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1955)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:214)
        at android.app.ActivityThread.main(ActivityThread.java:7073)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:964)
当我尝试关闭数据库时会发生这种情况:

// Make sure you close the db to shutdown the
// database and avoid resource leaks.
try {
    db.close(); // <= EX THROWN HERE
} catch (IOException e) {
    e.printStackTrace();
}
//确保关闭数据库以关闭数据库
//数据库,避免资源泄漏。
试一试{
db.close()//
    Options options = new Options();
    options.createIfMissing(true);
    DB db = null;
    try {
        String cwd = getApplicationInfo().dataDir;
        Log.d(TAG, "cwd: " + cwd);
        String dirName = "leveldb_demo";
        File directory = new File(cwd + File.separator + dirName);
        if (! directory.exists()){
            directory.mkdir();
            // If you require it to make the entire directory path including parents,
            // use directory.mkdirs(); here instead.
        }
        db = factory.open(new File(cwd + File.separator + dirName), options);
    } catch (IOException e) {
        e.printStackTrace();
    }
    try {
        Log.d(TAG, "writing to db:");
        db.put(bytes("Tampa"), bytes("rocks"));
        Log.d(TAG, "reading from db:");
        String value = asString(db.get(bytes("Tampa")));
        Log.d(TAG, "read: " + value);
    } finally {
        // Make sure you close the db to shutdown the
        // database and avoid resource leaks.
        try {
            db.close(); // <= EX THROWN HERE
        } catch (IOException e) {
            e.printStackTrace();
        }