实现Java本地库,以使插件模板更加流畅

时间:2019-12-18 16:36:25

标签: java android gradle flutter flutter-plugin

我正在尝试将本地库添加到Flutter插件项目中。 该库直接在flutter项目的根文件夹中创建(不在android文件夹中) 所以这是结构: MyFlutterProject:

_ lib
   __ flutterPlugin.dart
_ MyLibrary   
   __ build.gradle
   __ setting.gradle
   __ src
   __ ...
_ Android
   __ build.gradle
   __ ...
[...]

这是我的[android] build.gradle文件:

group 'org.example.myproject'
version '1.0'

buildscript {
    repositories {
        google()
        jcenter()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:3.5.0'
    }
}

rootProject.allprojects {
    repositories {
        google()
        jcenter()
    }
}

apply plugin: 'com.android.library'

android {
    compileSdkVersion 28

    defaultConfig {
        minSdkVersion 16
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
    lintOptions {
        disable 'InvalidPackage'
    }
}

dependencies {
    implementation project(':myviewer')
}

这是我的[android] setting.gradle文件:

rootProject.name = 'Mywidget'
include ':myviewer'
project(':myviewer').projectDir = new File('../myviewer')

当我尝试扑动运行时,这是错误消息:

  

flutter在调试模式下在Aquaris U2上启动lib / main.dart ...                                                                            失败:构建失败,发生异常。

     
      
  • 其中:构建文件   '/user/path/dev/FlutterPlugin/myproject/android/build.gradle'行:37

  •   
  • 出了什么问题:评估项目':mywidget'时出现问题。

  •   
     

在项目':mywidget'中找不到路径为':myviewer'的项目。

     
      
  • 尝试:使用--stacktrace选项运行以获取堆栈跟踪。使用--info运行   或--debug选项以获取更多日志输出。与--scan一起运行以获取完整信息   见解。

  •   
  • https://help.gradle.org上获得更多帮助
                                                                           908毫秒内建立失败
      正在运行Gradle任务“ assembleDebug” ...
      正在运行Gradle任务'assembleDebug'...完成
      2,1s Gradle任务assembleDebug失败,退出代码为1

  •   

关于如何使其工作的任何想法?

谢谢

1 个答案:

答案 0 :(得分:0)

我发现了这个solution,这使我走上了正轨。 在命令行中使用gradle aR构建.aar之后,我在android文件夹中创建了文件夹libs,只需将此行添加到我的root build.gradle implementation fileTree(dir: 'libs', include: ['*.aar'])中,请在{ {3}}