我正在遵循GeckoView快速入门指南:https://mozilla.github.io/geckoview/consumer/docs/geckoview-quick-start或https://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搜索没有结果。...
我只是从指南中复制了几行而感到很愚蠢,但是无论如何...我做错了什么?
答案 0 :(得分:1)
这是一个非常愚蠢的错误,但是我不会自己删除问题,而是自己回答,因为另一位初学者可能有一天会犯同样的愚蠢错误。
问题是我添加了
ext {
geckoviewChannel = "nightly"
geckoviewVersion = "70.0.20190712095934"
}
在graddle文件底部,在我们使用$ {geckoviewChannel}和$ {geckoviewVersion}的依赖项之后,因此它们是未定义的。