Cordova插件-使用AAR

时间:2019-01-06 14:49:36

标签: java android cordova

我试图弄清楚如何将LibBlinkID.aar文件包含到Cordova插件中。到目前为止,我已经尝试过thisthisthat和此处的其他地方,但都无济于事。

首先,我试图找出可以进行正确构建的正确build.gradle文件:

    repositories{    
 jcenter()
   flatDir {
     dirs './libs'
   }
}

dependencies {
  compile (
      name:'LibBlinkID',
      ext:'aar')
}

android {
 packagingOptions {
  exclude 'META-INF/NOTICE'
  exclude 'META-INF/LICENSE'
 }
}

但是由于某种原因,它在编译时表示未找到compile(),这是因为它不应该位于顶层build.gradle中。好的,那我该放在哪里?

这是项目的结构:

MyProject
  src
   android
    com
     mynamespace
      FileThatUsesClassesFromLibBlink.java
    libs
     LibBlinkID.aar

然后是第二个问题-在Gradle 4.6版中,如何确定使用LibBlibkID.aar?

1 个答案:

答案 0 :(得分:1)

  

我试图找出正确的build.gradle文件来进行正确的构建

不确定您的意思是什么,但是Gradle配置应该放在插件包含的单独的Gradle文件中,因此您应该具有以下内容:

plugin.xml

...
<resource-file src="LibBlinkID.aar" target="libs/LibBlinkID.aar" />
<framework src="LibBlinkID.gradle" custom="true" type="gradleReference" />
...

LibBlinkID.gradle

repositories{    
 jcenter()
   flatDir {
     dirs 'libs'
   }
}

dependencies {
  compile (name:'LibBlinkID', ext:'aar')
}

android {
 packagingOptions {
  exclude 'META-INF/NOTICE'
  exclude 'META-INF/LICENSE'
 }
}

请注意,我已将repositories.flatDir.dirs./libs更改为libs