在解组时将Evernote库添加为Android Studio中的模块会显示“找不到类”

问题描述 投票:0回答:3

我是Android Studio的新手。我正在开发一个应用程序,我想在其中将文档上传到Evernote。我正在使用Evernote SDK。

我根据Evernote的说明从Evernote网站下载了Evernote Android SDK和示例应用程序。我当时构建了一个示例应用程序,并通过Android Studio运行,然后它可以正常工作,但是当我将该库作为模块添加到我的项目中并进行构建时,它就成功了。

当我跑步时,将显示以下错误:

05-28 18:47:04.614: E/Parcel(968): Class not found when unmarshalling: com.evernote.client.android.EvernoteSession$EvernoteService
05-28 18:47:04.614: E/Parcel(968): java.lang.ClassNotFoundException: com.evernote.client.android.EvernoteSession$EvernoteService
05-28 18:47:04.614: E/Parcel(968):  at java.lang.Class.classForName(Native Method)
05-28 18:47:04.614: E/Parcel(968):  at java.lang.Class.forName(Class.java:251)
05-28 18:47:04.614: E/Parcel(968):  at java.lang.Class.forName(Class.java:216)
05-28 18:47:04.614: E/Parcel(968):  at android.os.Parcel.readParcelableCreator(Parcel.java:2133)
05-28 18:47:04.614: E/Parcel(968):  at android.os.Parcel.readParcelable(Parcel.java:2097)
05-28 18:47:04.614: E/Parcel(968):  at android.os.Parcel.readValue(Parcel.java:2013)
05-28 18:47:04.614: E/Parcel(968):  at android.os.Parcel.readArrayMapInternal(Parcel.java:2314)
05-28 18:47:04.614: E/Parcel(968):  at android.os.Bundle.unparcel(Bundle.java:249)
05-28 18:47:04.614: E/Parcel(968):  at android.os.Bundle.getString(Bundle.java:1118)
05-28 18:47:04.614: E/Parcel(968):  at android.content.Intent.getStringExtra(Intent.java:5285)
05-28 18:47:04.614: E/Parcel(968):  at com.android.server.am.ActivityStackSupervisor.startActivityLocked(ActivityStackSupervisor.java:1586)
05-28 18:47:04.614: E/Parcel(968):  at com.android.server.am.ActivityStackSupervisor.startActivityMayWait(ActivityStackSupervisor.java:1167)
05-28 18:47:04.614: E/Parcel(968):  at com.android.server.am.ActivityManagerService.startActivityAsUser(ActivityManagerService.java:4496)
05-28 18:47:04.614: E/Parcel(968):  at com.android.server.am.ActivityManagerService.startActivity(ActivityManagerService.java:4378)
05-28 18:47:04.614: E/Parcel(968):  at android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:161)
05-28 18:47:04.614: E/Parcel(968):  at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:3002)
05-28 18:47:04.614: E/Parcel(968):  at android.os.Binder.execTransact(Binder.java:404)
05-28 18:47:04.614: E/Parcel(968):  at dalvik.system.NativeStart.run(Native Method)
05-28 18:47:04.614: E/Parcel(968): Caused by: java.lang.NoClassDefFoundError: com/evernote/client/android/EvernoteSession$EvernoteService
05-28 18:47:04.614: E/Parcel(968):  ... 18 more
05-28 18:47:04.614: E/Parcel(968): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.evernote.client.android.EvernoteSession$EvernoteService" on path: DexPathList[[directory "."],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
05-28 18:47:04.614: E/Parcel(968):  at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
05-28 18:47:04.614: E/Parcel(968):  at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
05-28 18:47:04.614: E/Parcel(968):  at java.lang.ClassLoader.loadClass(ClassLoader.java:457)
05-28 18:47:04.614: E/Parcel(968):  ... 18 more

我基于以下几点将库集成到我的项目中。

在Intellij工作区中包括Android库项目

  1. 右键单击您的项目,然后选择打开模块属性
  2. 选择顶部的加号图标(添加),然后选择导入模块
  3. 选择库目录,然后单击确定
  4. 单击下一步,下一步,下一步,下一步
  5. 单击完成
  6. 单击您的项目并选择Dependencies选项卡
  7. 单击底部的加号图标(添加),然后选择3模块依赖性
  8. 选择库并单击确定

以下是gradle文件:

用于库项目的Build.gradle文件:在文件夹库内部应用插件:“ com.android.library”

android {
    compileSdkVersion 17
    buildToolsVersion "19.1.0"

    defaultConfig {
        minSdkVersion 5
        targetSdkVersion 16
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
}

dependencies {
    compile files('libs/evernote-api-1.25.jar')
    compile files('libs/scribe-1.3.1.jar')
}

build.gradle我的项目:那是我的项目模块应用插件:“ com.android.application”

android {
    compileSdkVersion 21
    buildToolsVersion "22.0.0"

    defaultConfig {
        applicationId "com.xerox.xeroxmobilelink.clouddemo"
        minSdkVersion 16
        targetSdkVersion 21
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
}

dependencies {
    compile project(':library')
    compile project(':accountsManager')
    compile project(':cloudAccountsLogin')
    compile project(':cloudFolderChooser')
    compile project(':cloudDocumentUploader')
    compile 'com.android.support:support-v4:21.0.3'
    compile 'com.android.support:appcompat-v7:21.0.3'
}
android android-studio evernote
3个回答
0
投票

0
投票
private static final String CONSUMER_KEY = "key"; // key will get on email while registering on evernote// private static final String CONSUMER_SECRET = "secretkey"; // key will get on email while registering on evernote// private static final EvernoteSession.EvernoteService EVERNOTE_SERVICE = EvernoteSession.EvernoteService.SANDBOX; private EvernoteSession mEvernoteSession; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_evernote); mEvernoteSession = new EvernoteSession.Builder(this) .setEvernoteService(EVERNOTE_SERVICE) .setSupportAppLinkedNotebooks(SUPPORT_APP_LINKED_NOTEBOOKS) .build(CONSUMER_KEY, CONSUMER_SECRET) .asSingleton(); }

}

使用此链接

// https://github.com/evernote/evernote-sdk-android/blob/master/README.md

任何人都无法解释将note集成或添加到android应用的进一步过程。

© www.soinside.com 2019 - 2024. All rights reserved.