在gradle中声明android.support.v7.app

在gradle中声明android.support.v7.app,android,eclipse,gradle,android-appcompat,Android,Eclipse,Gradle,Android Appcompat,我对AppCompat和Gradle有问题,第一个问题是我的应用程序只有一个Gradle模块,而没有Gradle模块,如下图所示 我的其他应用程序中有2个渐变,如果它的重要项目是使用eclipse编写的,那么我迁移到android studio: 第二个是当我运行我的一个活动时,我得到了错误 03-29 12:15:30.461 18276-18276/com.soheil.prolightfa E/AndroidRuntime: FATAL EXCEPTION: main Process:

我对
AppCompat
Gradle
有问题,第一个问题是我的应用程序只有一个
Gradle
模块,而没有
Gradle
模块,如下图所示 我的其他应用程序中有2个渐变,如果它的重要项目是使用eclipse编写的,那么我迁移到android studio:

第二个是当我运行我的一个活动时,我得到了错误

03-29 12:15:30.461 18276-18276/com.soheil.prolightfa E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.soheil.prolightfa, PID: 18276
java.lang.NoClassDefFoundError: android.support.v7.app.AppCompatDelegateImplV14
at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:135)
at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:126)
at android.support.v7.app.AppCompatDialog.getDelegate(AppCompatDialog.java:142)
at android.support.v7.app.AppCompatDialog.<init>(AppCompatDialog.java:48)
at android.support.v7.app.AlertDialog.<init>(AlertDialog.java:92)
at android.support.v7.app.AlertDialog$Builder.create(AlertDialog.java:882)
at com.flask.colorpicker.builder.ColorPickerDialogBuilder.build(ColorPickerDialogBuilder.java:223)
at com.soheil.prolightfa.color.onCreate(color.java:43)
at android.app.Activity.performCreate(Activity.java:6500)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1120)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3078)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3224)
at android.app.ActivityThread.access$1000(ActivityThread.java:198)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1682)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:6843)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199
我的gradle内容也在这里:

allprojects {
repositories {
    maven { url "https://jitpack.io" }
}
}
buildscript {
repositories {
    maven { url "https://jitpack.io" }
    mavenCentral()


}
dependencies {

    classpath 'com.android.tools.build:gradle:1.5.0'
}
}
apply plugin: 'com.android.application'
configurations {
 all*.exclude group: 'com.android.support', module: 'support-v4'
}
dependencies {
compile 'com.github.QuadFlask:colorpicker:0.0.10'

compile 'com.android.support:appcompat-v7:23.1.1'

}

android {
compileSdkVersion 23
buildToolsVersion '23.0.1'
sourceSets {
    main {
        manifest.srcFile 'AndroidManifest.xml'
        java.srcDirs = ['src']
        resources.srcDirs = ['src']
        aidl.srcDirs = ['src']
        renderscript.srcDirs = ['src']
        res.srcDirs = ['res']
        assets.srcDirs = ['assets']
    }

    // Move the tests to tests/java, tests/res, etc...
    instrumentTest.setRoot('tests')

    // Move the build types to build-types/<type>
    // For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ...
    // This moves them out of them default location under src/<type>/...    which would
    // conflict with src/ being used by the main source set.
    // Adding new build types or product flavors should be accompanied
    // by a similar customization.
    debug.setRoot('build-types/debug')
    release.setRoot('build-types/release')
}
defaultConfig {}
productFlavors {
}
buildTypes {
}
所有项目{
存储库{
maven{url“https://jitpack.io" }
}
}
构建脚本{
存储库{
maven{url“https://jitpack.io" }
mavenCentral()
}
依赖关系{
classpath'com.android.tools.build:gradle:1.5.0'
}
}
应用插件:“com.android.application”
配置{
所有*.exclude组:“com.android.support”,模块:“support-v4”
}
依赖关系{
编译'com.github.quadrask:colorpicker:0.0.10'
编译'com.android.support:appcompat-v7:23.1.1'
}
安卓{
编译DK23版
buildToolsVersion'23.0.1'
源集{
主要{
manifest.src文件“AndroidManifest.xml”
java.srcDirs=['src']
resources.srcDirs=['src']
aidl.srcDirs=['src']
renderscript.srcDirs=['src']
res.srcDirs=['res']
assets.srcDirs=['assets']
}
//将测试移动到tests/java、tests/res等。。。
instrumentTest.setRoot('tests'))
//将生成类型移动到生成类型/
//例如,build-types/debug/java、build-types/debug/AndroidManifest.xml。。。
//这会将它们移出src/…下的默认位置,这将
//与主源集正在使用的src/冲突。
//应同时添加新的构建类型或产品风格
//通过类似的定制。
setRoot('build-types/debug')
setRoot('build-types/release')
}
defaultConfig{}
产品风味{
}
建筑类型{
}
我已经为我的项目添加了appcompact,但我认为错误与appcompact有关。

您的日志会抛出

 java.lang.NoClassDefFoundError: android.support.v7.app.AppCompatDelegateImplV14

您应该删除模块:'support-v4'

最后

    configurations {
        all*.exclude group: 'com.android.support'
}
然后
清理重建同步
您的项目

你可以移除这个,不需要

你的Logcat扔

 java.lang.NoClassDefFoundError: android.support.v7.app.AppCompatDelegateImplV14

您应该删除模块:'support-v4'

最后

    configurations {
        all*.exclude group: 'com.android.support'
}
然后
清理重建同步
您的项目

你可以移除这个,不需要


删除整个依赖项排除:

configurations {
   all*.exclude group: 'com.android.support', module: 'support-v4'
}

删除整个依赖项排除:

configurations {
   all*.exclude group: 'com.android.support', module: 'support-v4'
}

build.gradle:

//...
defaultConfig {
    multiDexEnabled = true
}

dependencies {
    //...
    compile 'com.android.support:multidex:1.0.1'
    //...
}
public class App extends Application {
    //...
    @Override
    protected void attachBaseContext(Context base) {
        super.attachBaseContext(base);
        MultiDex.install(this);
    }
    //...
}
<application
    android:name="com.company.App">
    <!-- ... -->
</application>

应用程序类:

//...
defaultConfig {
    multiDexEnabled = true
}

dependencies {
    //...
    compile 'com.android.support:multidex:1.0.1'
    //...
}
public class App extends Application {
    //...
    @Override
    protected void attachBaseContext(Context base) {
        super.attachBaseContext(base);
        MultiDex.install(this);
    }
    //...
}
<application
    android:name="com.company.App">
    <!-- ... -->
</application>
AndroidManifest.xml:

//...
defaultConfig {
    multiDexEnabled = true
}

dependencies {
    //...
    compile 'com.android.support:multidex:1.0.1'
    //...
}
public class App extends Application {
    //...
    @Override
    protected void attachBaseContext(Context base) {
        super.attachBaseContext(base);
        MultiDex.install(this);
    }
    //...
}
<application
    android:name="com.company.App">
    <!-- ... -->
</application>

build.gradle:

//...
defaultConfig {
    multiDexEnabled = true
}

dependencies {
    //...
    compile 'com.android.support:multidex:1.0.1'
    //...
}
public class App extends Application {
    //...
    @Override
    protected void attachBaseContext(Context base) {
        super.attachBaseContext(base);
        MultiDex.install(this);
    }
    //...
}
<application
    android:name="com.company.App">
    <!-- ... -->
</application>

应用程序类:

//...
defaultConfig {
    multiDexEnabled = true
}

dependencies {
    //...
    compile 'com.android.support:multidex:1.0.1'
    //...
}
public class App extends Application {
    //...
    @Override
    protected void attachBaseContext(Context base) {
        super.attachBaseContext(base);
        MultiDex.install(this);
    }
    //...
}
<application
    android:name="com.company.App">
    <!-- ... -->
</application>
AndroidManifest.xml:

//...
defaultConfig {
    multiDexEnabled = true
}

dependencies {
    //...
    compile 'com.android.support:multidex:1.0.1'
    //...
}
public class App extends Application {
    //...
    @Override
    protected void attachBaseContext(Context base) {
        super.attachBaseContext(base);
        MultiDex.install(this);
    }
    //...
}
<application
    android:name="com.company.App">
    <!-- ... -->
</application>


删除
模块:“support-v4”
删除
模块:“support-v4”
错误:(44,23)错误:无法访问android.support.v7.app.AlertDialog的AlertDialog类文件。找不到错误:任务的执行失败:CompiledBugJavaWithJavaC'。>编译失败;有关详细信息,请参阅编译器错误输出。D:\android WorkSpace\Flashlight Pro(基本)\src\com\soheil\prolightfa\color。java@SoheilAfshari阅读《再次倾斜和重建》修复错误:(44,23)错误:无法访问android.support.v7.app.AlertDialog的AlertDialog类文件。找不到错误:任务的执行失败:CompiledBugJavaWithJavaC'。>编译失败;有关详细信息,请参阅编译器错误输出。D:\android WorkSpace\Flashlight Pro(基本)\src\com\soheil\prolightfa\color。java@SoheilAfshari阅读《再次倾斜和重建》修复了它