小智 25
我有同样的问题,对我来说这个解决方案有效。
将 MainActivity.kt 替换为 Java 版本,或者复制到这里
package com.example.test_app;
import androidx.annotation.NonNull;
import io.flutter.embedding.android.FlutterActivity;
import io.flutter.embedding.engine.FlutterEngine;
import io.flutter.plugins.GeneratedPluginRegistrant;
public class MainActivity extends FlutterActivity {
@Override
public void configureFlutterEngine(@NonNull FlutterEngine flutterEngine) {
GeneratedPluginRegistrant.registerWith(flutterEngine);
}
}
Run Code Online (Sandbox Code Playgroud)删除以下代码 android/app/build.grandle
...
apply plugin: 'kotlin-android'
...
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
}
Run Code Online (Sandbox Code Playgroud)在同一个地方替换以下内容:
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.1.0'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0'
}
Run Code Online (Sandbox Code Playgroud)
到
dependencies {
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}
Run Code Online (Sandbox Code Playgroud)All*_*len 13
默认情况下,flutter 模板支持使用 Kotlin 编写 Android 代码,或使用 Swift 编写 iOS 代码。要使用 Java 或 Objective-C,请使用 -i 和/或 -a 标志:
在终端运行:flutter create -i objc -a java your_project_name。
如果您想更改现有的应用程序平台语言选择,作为一种解决方法,您可以删除 android/ 目录并运行flutter create -a java以获取为新语言选择重新创建的目录(ios/ 和 Swift 相同)。不过,您需要重新应用自定义更改。
jef*_*eff 10
flutter create -a java .在您的项目目录中 运行
flutter create:如果在已经存在的项目上运行,这将修复该项目,重新创建任何丢失的文件。
如果kotlin目录android/src/main只包含生成的示例代码,则删除该目录
如果您要从 cmd 创建一个新项目:
flutter create -i objc -a java project_name
注意:-a 表示 android 标志,-i 表示 ios 标志。如果你只想要java,你可以删除-i objc
如果要转换现有项目:
flutter create -a java .
上面一行的末尾有一个点,转换现有项目时
| 归档时间: |
|
| 查看次数: |
9719 次 |
| 最近记录: |