请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册
搜索

本文来自

EasyAR 问答

EasyAR 问答

13 人已关注

SDK使用上有什么问题就尽管吐槽吧,我们的工程师会第一时间回答

精选帖子

升级gradle-experimental

[复制链接]

5

主题

18

帖子

97

积分

注册会员

Rank: 2

积分
97
0299 bzw2017 发表于 2017-4-10 16:51:22
本帖最后由 bzw2017 于 2017-4-10 16:59 编辑

sample里的gradle-experimental使用的是0.2.0的,网上搜了一下,对应的是gradle版本是2.5,这个版本不好用。我一开始想用第三方视频播放,但导入很多库都发现会报错,support-appcompat好像支持的不好,忍无可忍,决定升级一下。
各种Google,各种stackoverflow,最后终于搞定了,希望可以帮到大家。

官网上不同版本对照:
Each version of the experimental plugin requires a specific version of Gradle.  Here is a list of required Gradle version.
Plugin Version        Gradle Version
  0.1.0                2.5
  0.2.0                2.5
  0.3.0-alpha3        2.6
  0.4.0                2.8
  0.6.0-alpha1        2.8
  0.6.0-alpha5        2.10
  0.7.0-alpha1        2.10
  0.7.0                2.10
  0.7.3                2.14.1

我使用的是0.7.0-alpha1,2.10对应其他的我没测过,你们自行了解。
1 修改Project下build.gradle,将classpath改为  classpath 'com.android.tools.build:gradle-experimental:0.7.0-alpha4';
2 修改gradle下gradle-wrapper.properties文件,将distributionUrl 改为 distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip;
3 File-settings-gradle,修改gradle home将数据改为2.10;
最后修改一下build.gradle就可以了:
build.gradle:


apply plugin: 'com.android.model.application'
model {
    android {
        compileSdkVersion 24
        buildToolsVersion "24.0.3"

        defaultConfig {
            applicationId "cn.easyar.samples.helloarvideo"
            minSdkVersion.apiLevel 16
            targetSdkVersion.apiLevel 21
            versionCode 1
            versionName "1.0"
        }
    }

    android.buildTypes {
        release {
            minifyEnabled false
            proguardFiles.add(file("proguard-rules.pro"))
        }
    }
    android.ndk {
        moduleName "HelloARVideoNative"
        cppFlags.add("-I${file("../../../package/include")}".toString())
        cppFlags.add("-DANDROID")
        cppFlags.add("-fexceptions")
        cppFlags.add("-frtti")
        stl "gnustl_static"
        ldLibs.add("log")
        ldLibs.add("GLESv2")
    }
    android.productFlavors {
        create("arm") {
            ndk {
                abiFilters.add("armeabi-v7a")
            }
        }
    }

    repositories {
        libs(PrebuiltLibraries) {
            EasyAR {
                headers.srcDir "../../../package/include"
                binaries.withType(SharedLibraryBinary) {
                    sharedLibraryFile = file("../../../package/Android/libs/armeabi-v7a/libEasyAR.so")
                }
            }
        }
    }
    android.sources {
        main {
            jni {
                dependencies {
                    library "EasyAR"
                }
            }
            jniLibs {
                source {
                    srcDir "../../../package/Android/libs"
                }
            }
        }
    }
}
dependencies {
    compile fileTree(include: ['*.jar'], dir: '../../../package/Android/libs')
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:24.2.0'
}
原文件按照这个配置就好了,sync一下,ok。




回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表