用Android Studio 3.0 Canary 4构建错误
我目前正在开发一个即时应用程序,为此我已经将我的单片应用程序重组为特征模块。 一切都在运行,直到Android Studio canary 3,但更新到Android Studio Canary 4后,我的项目无法生成以下错误:
A problem was found with the configuration of task ':minimoBase:dataBindingExportBuildInfoDebugAndroidTest'. > Directory '/Users/nayak.vishal/projectData/minimo_instant_app_project/putica-client-android- native/minimoBase/build/intermediates/data-binding-info/androidTest/debug' specified for property 'xmlOutFolder' does not exist.
以下过程作为解决此问题的解决方法:
在gradle命令行上执行以下构建命令
1)gra净
2)gradlew:appModule:assembleDebug
- 这里appModule是构建可安装的apk的应用程序模块的名称
- 构建成功,并且在输出文件夹中生成的调试apk可以成功安装
3)gradlew:instantAppModule:assembleDebug
- 这里instantAppModule是即时应用程序模块的名称
- 构建成功,即时应用程序可以通过深层链接安装和启动
一旦上述命令行构建成功,通过Android Studio Canary 4构建也会停止引发构建错误。
当我打开库模块的data-binding
,出现了类似的错误。 当我将其关闭并将需要data-binding
到app
模块的所有类移动时,它才起作用。 所以我想有一个DataBinding不能在Library模块上工作的问题(Gradle 2.x很好)。
dataBinding { enabled = false }
我正在使用com.android.tools.build:gradle:3.0.0-alpha5
和Android Studio 3.0预览Canary5
UPDATE
虽然原来的答案工作,我真的想打开我的图书馆模块的data-binding
,在那里我使用绑定技术来实现一些基类。 我将它们移回library
模块,并将kotlin
版本升级到最新版本1.1.3-2
。 突然它也起作用。 我不确定哪一个更好,但是两种方法都适合我。
更新2
这时我正在使用com.android.tools.build:gradle:3.0.0-alpha9
和kotlin 1.1.3-2
,突然问题重新出现。 现在我认为这个问题不是来自Kotlin。 我的图书馆模块转为dataBiding { enabled=true}
,但它没有任何布局文件。 我试图创建一个由<layout>
标签包装的假布局文件,它的工作原理
<?xml version="1.0" encoding="utf-8"?> <layout> <View xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"/> </layout>
在您的gradle.properties文件中,添加以下行
android.enableAapt2=false
AS3.0的最新版本默认切换为使用AAPT2。 你可以在你的gradle.properties文件中使用上面提到的代码行来禁用AAPT2,并继续在AS3 canary上开发4。
这对我来说是一个问题,当我有一个“基本”功能模块没有任何布局(我所有的实际布局在不同的功能)
在基本功能中添加一个虚拟的布局XML文件(例如base/src/res/layout/dummy.xml
)意味着创建了丢失的目录并编译了应用程序。
(这是使用com.android.tools.build:gradle:3.0.0-alpha6
)
我有同样的问题,看起来像在加那利4错误。
现在,作为解决方法,我降级到Android Studio 3.0.0 Canary 3( https://developer.android.com/studio/archive.html ),并将Android Gradle插件降级到3.0.0-alpha3:
dependencies { classpath 'com.android.tools.build:gradle:3.0.0-alpha3' ... }
更新:
更新后只需检查Canary版本。 对于这个看到工具栏(File..Edit..View..line)上方的Android Studio版本,其中像“Canary X”。 – > X这样的名称就像3,4,5等数字。
例如,假设更新的版本(X)是5.尝试将build.gradle(applicationName)中的类路径更改为3.0.0- alpha5并再次同步(/ Try):
dependencies { classpath 'com.android.tools.build:gradle:3.0.0-alpha5' }
意思是更新版本(X): –
dependencies { classpath 'com.android.tools.build:gradle:3.0.0-alphaX' }
- 我在android项目中使用这个库,但使用https://github.com/igalata/Bubble-Picker/错误
- 当我在Kotlin中使用函数作为参数时,出现“类型不匹配”错误?
- SetChecked()不起作用
- GoogleApiClient:之后无法手动连接并执行signOut
- 无法上传Android中的文件,并且没有错误的详细信息
- Kotlin扩展未解决的参考
- Kotlin转换不再适用于Android Studio 3.0
- 如何在Kotlin anko中使用TextInputLayout和TextInputEditText
- 如何在Anko中调试“无法解析com.google.android:android”错误