2

任何想法为什么我有这个无法解析符号“数据库”在net.sqlcipher. 我只是从 GitHub 克隆了 SQLCipher Android Test并想进行测试。

还附上了截图供参考。 在此处输入图像描述

谢谢...

4

2 回答 2

1

在将 compileOptions 添加为 JavaVersion 8 并启用 JACK 后,我现在可以编译了

compileOptions {
  sourceCompatibility JavaVersion.VERSION_1_8
  targetCompatibility JavaVersion.VERSION_1_8
}

杰克选项被添加到里面defaultConfig

jackOptions {
  enabled true
}

现在我app/build.gradle的变成了这个样子。

apply plugin: 'com.android.application'

android {
  compileSdkVersion 26
  buildToolsVersion "26.0.1"
  defaultConfig {
    applicationId "net.zetetic.sqlcipher.test"
    minSdkVersion 14
    targetSdkVersion 24
    versionCode 1
    versionName "1.0"
    jackOptions {
     enabled true
    }
 }
buildTypes {
 release {
  minifyEnabled false
  proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
 }
}

compileOptions {
 sourceCompatibility JavaVersion.VERSION_1_8
 targetCompatibility JavaVersion.VERSION_1_8
}
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])

// For testing zip-based distributions:
//compile files('libs/sqlcipher.jar')


 // For testing AAR packages:
 compile 'net.zetetic:android-database-sqlcipher:3.5.9@aar'
}

非常感谢你们的帮助。

于 2018-08-13T02:06:53.990 回答
0
import net.sqlcipher.database.SQLiteDatabase;
import net.sqlcipher.database.SQLiteOpenHelper;

import android.database.Cursor;

 import net.sqlcipher.Cursor;

你应该使用

对于app/build.gradle部分

   compile (name: 'android-database-sqlcipher-3.5.9', ext: 'aar')

添加下面的项目build.gradle文件

  repositories {
     jcenter()
    }

然后File-> Sync Project with Gradle Files& Clean->Rebuild Project

SQLCipher for Android Application Integration

供参考

我们最初测试了通过 Jack 工具链添加 Java 8 支持。随着时间的推移,当我们考虑到注释处理器、字节码分析器和重写器受到影响时,我们意识到切换到 Jack 的成本对我们的社区来说太高了。感谢您试用 Jack 工具链并给予我们很好的反馈。在我们发布新支持之前,您可以继续使用 Jack 构建您的 Java 8 代码。从杰克迁移应该需要很少或不需要工作。

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}
于 2018-08-10T08:41:44.190 回答