将Android Studio更新到最新版本(3.1)并在我的项目中使用gradle版本后,我收到错误(链接总是不同):
12:54 Gradle sync started
12:56 Gradle sync failed: Could not HEAD 'https://jcenter.bintray.com/com/android/tools/analytics-library/shared/26.1.0/shared-26.1.0.jar'. Received status code 502 from server: Bad Gateway Consult IDE log for more details (Help | Show Log) (1m 56s 602ms)
12:56 Gradle sync started
12:57 Gradle sync failed: Could not HEAD 'https://jcenter.bintray.com/org/codehaus/mojo/animal-sniffer-parent/1.14/animal-sniffer-parent-1.14.pom'. Received status code 502 from server: Bad Gateway Consult IDE log for more details (Help | Show Log) (1m 4s 266ms)
12:58 Gradle sync started
12:59 Gradle sync failed: Could not HEAD 'https://jcenter.bintray.com/com/sun/activation/all/1.2.0/all-1.2.0.pom'. …Run Code Online (Sandbox Code Playgroud) 自Android Studio更新后,3.2.0我遇到以下问题:
任务':mobile:dataBindingGenBaseClassesDebug'的执行失败.
>无法猜测com.ACME.database.model.Order
也看到了这个答案,暗示了"包名必须以小写字母开头".
......似乎是相似的,好像这个variable任务是原因:
<data class=".databinding.OrderFragmentBinding">
<variable name="order" type="com.ACME.database.model.Order"/>
...
</data>
Run Code Online (Sandbox Code Playgroud)
found:用于绑定类的新数据绑定编译器,它不解释行为的变化.
问:这样的作业是否也受到该命名惯例的影响?我的意思是,有没有机会(除了改变大写的包名)以使数据绑定v2"猜测"成功?
android android-gradle-plugin android-databinding android-studio-3.2 androidx
我正在通过添加启用数据绑定
数据绑定 { 启用 = 真 }
和
kapt 'com.android.databinding:compiler:3.1.4'
在应用程序级build.gradle文件中。
应用插件:'kotlin-kapt'
最重要的是。项目基于 kotlin 。
这是我的模型:
package ir.app.myapplication;
data class cisclass(val equRevId:String)
Run Code Online (Sandbox Code Playgroud)
主要活动 :
val binding: ActivityMainBinding = DataBindingUtil.setContentView(this, R.layout.activity_main)
val user = cisclass("123")
binding.setVariable(BR.cis, user)
binding.executePendingBindings()
Run Code Online (Sandbox Code Playgroud)
这是我的布局:
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
>
<data>
<variable
name="cis"
type="ir.app.myapplication.cisclass" />
</data>
<androidx.core.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="5dp"
android:orientation="vertical"
android:scrollbars="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:text="@{cis.equRevId}"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold"
/>
</LinearLayout>
</androidx.core.widget.NestedScrollView>
</layout>
Run Code Online (Sandbox Code Playgroud)
我会得到这个错误:
java.lang.IllegalArgumentException: couldn't make a guess for ir.meedc.myapplication.cisclass …Run Code Online (Sandbox Code Playgroud)