【问题标题】:Android Studio, Gradle and Card.IOAndroid Studio、Gradle 和 Card.IO
【发布时间】:2014-09-14 06:37:52
【问题描述】:

我不确定如何让我的项目使用 Gradle 构建 Card.IO。我的 gradle 文件如下所示:

buildscript {
    repositories {
        maven { url 'http://download.crashlytics.com/maven' }
    }

    dependencies {
        classpath 'com.crashlytics.tools.gradle:crashlytics-gradle:1.+'
    }
}
apply plugin: 'com.android.application'
apply plugin: 'crashlytics'

repositories {
    maven { url 'http://download.crashlytics.com/maven' }
}


android {
    compileSdkVersion 19
    buildToolsVersion "20.0.0"

    defaultConfig {
        applicationId "applicationId"
        minSdkVersion 16
        targetSdkVersion 19
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:support-v4:20.0.0'
    compile 'com.crashlytics.android:crashlytics:1.+'
}

我的local.properties如下:

sdk.dir=/Applications/Android Studio.app/sdk
ndk.dir=/Applications/Android Studio.app/android-ndk-r10b

而我的项目结构如下:

现在根据 Card.IO (https://github.com/card-io/card.io-Android-SDK),我需要做的就是将文件复制到正确的目录中,但这不起作用。

我还看过以下帖子: Card.IO on Android with Gradle https://github.com/paypal/PayPal-Android-SDK/issues/26 - 这建议了一些额外的 gradle 方法,但没有用

当我对我的 Gradle 文件执行此操作时:

buildscript {
    repositories {
        maven { url 'http://download.crashlytics.com/maven' }
    }

    dependencies {
        classpath 'com.crashlytics.tools.gradle:crashlytics-gradle:1.+'
    }
}
apply plugin: 'com.android.application'
apply plugin: 'crashlytics'

repositories {
    maven { url 'http://download.crashlytics.com/maven' }
}


android {
    compileSdkVersion 19
    buildToolsVersion "20.0.0"

    defaultConfig {
        applicationId "appId"
        minSdkVersion 16
        targetSdkVersion 19
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

    sourceSets {
        main {
            jniLibs.srcDir 'src/main/libs'
            jni.srcDirs = [] //disable automatic ndk-build call
            java.srcDirs = ['src/main/java', 'src-gen/main/java']
            resources.srcDirs = ['src']
            aidl.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
        }
    }
    productFlavors {
        x86 {
            versionCode Integer.parseInt("6" + defaultConfig.versionCode)
            ndk {
                abiFilter "x86"
            }
        }
        mips {
            versionCode Integer.parseInt("4" + defaultConfig.versionCode)
            ndk {
                abiFilter "mips"
            }
        }
        armv7 {
            versionCode Integer.parseInt("2" + defaultConfig.versionCode)
            ndk {
                abiFilter "armeabi-v7a"
            }
        }
        arm {
            versionCode Integer.parseInt("1" + defaultConfig.versionCode)
            ndk {
                abiFilter "armeabi"
            }
        }
        fat
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:support-v4:20.0.0'
    compile 'com.crashlytics.android:crashlytics:1.+'
}

然后 Card.IO 工作,但我收到错误:Crashlytics 找不到 sourceSets.main.res 中指定的 res 文件夹,请创建一个。它选择了:src/main/res。

我很确定我的问题只是对 Gradle 的误解——我是新手。但是我没有最新的完整答案可供查看。

【问题讨论】:

    标签: android gradle android-studio crashlytics card.io


    【解决方案1】:

    在某个地方,我设法使用一些 gradle 设置删除了我的 Res 文件夹。现在,当我放回 gradle 文件并放回 res 文件时,一切都编译得很好。很奇怪。

    谢天谢地,Android Studio 可以查看本地历史记录,否则我会倒退几天!

    【讨论】:

    • 很高兴你知道了 :) 谢谢你的详细问题。
    猜你喜欢
    • 1970-01-01
    • 2013-05-16
    • 2014-01-22
    • 2017-02-24
    • 1970-01-01
    • 2014-02-01
    • 2017-08-22
    • 2022-01-20
    • 1970-01-01
    相关资源
    最近更新 更多