无法获得类型为的对象的未知属性'geckoviewChannel'

时间:2019-07-31 15:00:22

标签: android-studio build.gradle geckoview

我正在遵循GeckoView快速入门指南:https://mozilla.github.io/geckoview/consumer/docs/geckoview-quick-starthttps://wiki.mozilla.org/Mobile/GeckoView

所以我在Android Studio中创建了一个新项目,活动为空,API 18,并在build.gradle中添加了以下行:

ext {
        geckoviewChannel = "nightly"
        geckoviewVersion = "70.0.20190712095934"
}

repositories {
        maven {
                url "https://maven.mozilla.org/maven2/"
        }
}

compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
}

dependencies {
        // ...
    implementation "org.mozilla.geckoview:geckoview-${geckoviewChannel}:${geckoviewVersion}"   
}

此在布局中

<org.mozilla.geckoview.GeckoView
        android:id="@+id/geckoview"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" />

这是我的活动:

import org.mozilla.geckoview.GeckoRuntime;
import org.mozilla.geckoview.GeckoSession;
import org.mozilla.geckoview.GeckoView;

in oncreate :
GeckoView view = findViewById(R.id.geckoview);
GeckoSession session = new GeckoSession();
GeckoRuntime runtime = GeckoRuntime.create(this);

session.open(runtime);
view.setSession(session);
session.loadUri("about:buildconfig"); // Or any other URL...

但是我遇到了这个错误:

  

错误:无法获取类型为org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler的对象的未知属性'geckoviewChannel'。

并且google搜索没有结果。...

我只是从指南中复制了几行而感到很愚蠢,但是无论如何...我做错了什么?

1 个答案:

答案 0 :(得分:1)

这是一个非常愚蠢的错误,但是我不会自己删除问题,而是自己回答,因为另一位初学者可能有一天会犯同样的愚蠢错误。

问题是我添加了

ext {
        geckoviewChannel = "nightly"
        geckoviewVersion = "70.0.20190712095934"
}

在graddle文件底部,在我们使用$ {geckoviewChannel}和$ {geckoviewVersion}的依赖项之后,因此它们是未定义的。