Java 将类放入我的项目后,尝试从jar库调用类时发生NoClassDefFound错误

Java 将类放入我的项目后,尝试从jar库调用类时发生NoClassDefFound错误,java,android,maven,jar,Java,Android,Maven,Jar,有两个项目:我的项目和库项目 我已经在Android studio中导出了 现在,我将这个jar放入myproject中,以允许将其用作库 成功清除并同步渐变后我的项目可以正确理解jar库中的类 但在启动之后,它仍然会崩溃,并在与jar库相关的异常下运行 我不知道为什么 知道的人请告诉我如何修复 谢谢, p/s:实际上,我试图将jar库发布到maven,所以在发布之前需要进行测试 如果我没有在manifest.xml中声明activityCustomCamera和CustomGallery,我将

有两个项目:
我的项目
库项目

我已经在Android studio中导出了

现在,我将这个
jar
放入
myproject
中,以允许将其用作库

成功清除并同步渐变后<代码>我的项目可以正确理解
jar
库中的类

但在启动之后,它仍然会崩溃,并在与
jar库相关的异常下运行

我不知道为什么

知道的人请告诉我如何修复

谢谢,

p/s:实际上,我试图将jar库发布到maven,所以在发布之前需要进行测试

如果我没有在manifest.xml中声明activity
CustomCamera
CustomGallery
,我将崩溃并获得异常notdeclare activity

例外情况

 Process: mirrortowers.beautiful_bag.android.custom_camera.custom_gallery,    java.lang.NoClassDefFoundError: Failed resolution of: Lmirrortowers/custom_camera_gallery_library/R$layout;
E/AndroidRuntime:     at ui.activity.custom.camera.CustomCamera.onCreate(CustomCamera.java:93)
E/AndroidRuntime:     at android.app.Activity.performCreate(Activity.java:5975)
E/AndroidRuntime:     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
E/AndroidRuntime:     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2269)
E/AndroidRuntime:     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2376)
E/AndroidRuntime:     at android.app.ActivityThread.access$800(ActivityThread.java:147)
E/AndroidRuntime:     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1281)
E/AndroidRuntime:     at android.os.Handler.dispatchMessage(Handler.java:102)
E/AndroidRuntime:     at android.os.Looper.loop(Looper.java:135)
E/AndroidRuntime:     at android.app.ActivityThread.main(ActivityThread.java:5253)
E/AndroidRuntime:     at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime:     at java.lang.reflect.Method.invoke(Method.java:372)
E/AndroidRuntime:     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
E/AndroidRuntime:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
E/AndroidRuntime:  Caused by: java.lang.ClassNotFoundException: Didn't find class "mirrortowers.custom_camera_gallery_library.R$layout" on path: DexPathList[[zip file "/data/app/mirrortowers.beautiful_bag.android.custom_camera.custom_gallery-1/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
E/AndroidRuntime:     at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
E/AndroidRuntime:     at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
E/AndroidRuntime:     at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
E/AndroidRuntime:     at ui.activity.custom.camera.CustomCamera.onCreate(CustomCamera.java:93) 
E/AndroidRuntime:     at android.app.Activity.performCreate(Activity.java:5975) 
E/AndroidRuntime:     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105) 
E/AndroidRuntime:     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2269) 
E/AndroidRuntime:     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2376) 
E/AndroidRuntime:     at android.app.ActivityThread.access$800(ActivityThread.java:147) 
E/AndroidRuntime:     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1281) 
E/AndroidRuntime:     at android.os.Handler.dispatchMessage(Handler.java:102) 
E/AndroidRuntime:     at android.os.Looper.loop(Looper.java:135) 
E/AndroidRuntime:     at android.app.ActivityThread.main(ActivityThread.java:5253) 
E/AndroidRuntime:     at java.lang.reflect.Method.invoke(Native Method) 
E/AndroidRuntime:     at java.lang.reflect.Method.invoke(Method.java:372) 
E/AndroidRuntime:     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899) 
E/AndroidRuntime:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694) 
E/AndroidRuntime:   Suppressed: java.lang.ClassNotFoundException: mirrortowers.custom_camera_gallery_library.R$layout
E/AndroidRuntime:     at java.lang.Class.classForName(Native Method)
E/AndroidRuntime:     at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
E/AndroidRuntime:     at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
E/AndroidRuntime:     at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
E/AndroidRuntime:           ... 15 more
E/AndroidRuntime:  Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available
项目结构

尝试将其放入
libs
文件夹,并将其添加为library->notworks

尝试将其放入
app
文件夹,并将其添加为library->notworks

Jar库中的Manifest.xml

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="mirrortowers.custom_camera_gallery_library">

    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.RECORD_AUDIO" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

    <application
        android:allowBackup="true"
        android:label="@string/app_name">

        <!-- custom camera and gallery-->
        <activity
            android:name="ui.activity.custom.camera.CustomCamera"
            android:screenOrientation="portrait"
            />

        <activity android:name="ui.activity.custom.gallery.CustomGallery" />

    </application>

</manifest>
apply plugin: 'com.android.library'
apply plugin: 'maven'

android {
compileSdkVersion 23
buildToolsVersion "23.0.1"

defaultConfig {
    minSdkVersion 14
    targetSdkVersion 23
    versionCode 1
    versionName "1.0"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
lintOptions {
    abortOnError false
}
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.0.1'
compile 'com.android.support:support-v4:23.0.1'
compile 'com.google.android.gms:play-services-identity:8.1.0'
compile 'pl.droidsonroids.gif:android-gif-drawable:1.1.10'
compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.4'
compile 'com.google.android.gms:play-services:8.1.0'
}

// ext is a gradle closure allowing the declaration of global properties
ext {
PUBLISH_GROUP_ID = 'android.mirrortowers'
PUBLISH_ARTIFACT_ID = 'custom_camera_gallery'
PUBLISH_VERSION = '1.0.0'
}

def groupId = project.PUBLISH_GROUP_ID
def artifactId = project.PUBLISH_ARTIFACT_ID
def version = project.PUBLISH_VERSION

def localReleaseDest = "${buildDir}/release/${version}"


uploadArchives {
repositories.mavenDeployer {
    pom.groupId = groupId
    pom.artifactId = artifactId
    pom.version = version
    // Add other pom properties here if you want (developer details / licenses)
    repository(url: "file://${localReleaseDest}")
}
}

task zipRelease(type: Zip) {
from localReleaseDest
destinationDir buildDir
archiveName "release-${version}.zip"
}

task generateRelease << {
println "Release ${version} can be found at ${localReleaseDest}/"
println "Release ${version} zipped can be found ${buildDir}/release-${version}.zip"
}

generateRelease.dependsOn(uploadArchives)
generateRelease.dependsOn(zipRelease)

cutom摄像头模块已安装missing@war_Hero:你检查了我的项目结构?您可以看到包装摄像头模块没有丢失。如何修复它?转到文件-->项目结构-->应用程序-->依赖项,检查是否可以看到它们(如果不知道)me@war_Hero:请再次检查图像。实际上,我可以在我的项目中调用并集成Jar库中的类。您的库有资源吗?如果是这样的话,把它建成一个罐子不是一个好主意。
apply plugin: 'com.android.library'
apply plugin: 'maven'

android {
compileSdkVersion 23
buildToolsVersion "23.0.1"

defaultConfig {
    minSdkVersion 14
    targetSdkVersion 23
    versionCode 1
    versionName "1.0"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
lintOptions {
    abortOnError false
}
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.0.1'
compile 'com.android.support:support-v4:23.0.1'
compile 'com.google.android.gms:play-services-identity:8.1.0'
compile 'pl.droidsonroids.gif:android-gif-drawable:1.1.10'
compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.4'
compile 'com.google.android.gms:play-services:8.1.0'
}

// ext is a gradle closure allowing the declaration of global properties
ext {
PUBLISH_GROUP_ID = 'android.mirrortowers'
PUBLISH_ARTIFACT_ID = 'custom_camera_gallery'
PUBLISH_VERSION = '1.0.0'
}

def groupId = project.PUBLISH_GROUP_ID
def artifactId = project.PUBLISH_ARTIFACT_ID
def version = project.PUBLISH_VERSION

def localReleaseDest = "${buildDir}/release/${version}"


uploadArchives {
repositories.mavenDeployer {
    pom.groupId = groupId
    pom.artifactId = artifactId
    pom.version = version
    // Add other pom properties here if you want (developer details / licenses)
    repository(url: "file://${localReleaseDest}")
}
}

task zipRelease(type: Zip) {
from localReleaseDest
destinationDir buildDir
archiveName "release-${version}.zip"
}

task generateRelease << {
println "Release ${version} can be found at ${localReleaseDest}/"
println "Release ${version} zipped can be found ${buildDir}/release-${version}.zip"
}

generateRelease.dependsOn(uploadArchives)
generateRelease.dependsOn(zipRelease)
apply plugin: 'com.android.application'

android {
compileSdkVersion 23
buildToolsVersion "23.0.1"

defaultConfig {
    minSdkVersion 14
    targetSdkVersion 23
    versionCode 1
    versionName "1.0"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'),    'proguard-rules.pro'
    }
}
}

dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:appcompat-v7:23.0.1'
compile 'com.android.support:support-v4:23.0.1'
//    compile 'com.google.android.gms:play-services-identity:8.1.0'
//    compile 'com.google.android.gms:play-services-gcm:8.1.0'
compile files('src/main/libs/custom_camera_gallery_library.jar')
}