fas*_*que 7 android android-gradle-plugin android-studio-3.0
我目前正在将我的Android项目迁移到最新版本的Android Gradle插件,以便与Android Studio 3.0一起使用.
一切似乎工作得很好,除了我在本地AAR文件中的.so本机库文件没有打包到最终的APK.lib里面没有文件夹.
我的项目已经定义了两个风味维度,我没有看到任何关于它的错误或警告,所以我认为这不是问题.
Android Gradle插件:
classpath 'com.android.tools.build:gradle:3.0.0-alpha4'
Run Code Online (Sandbox Code Playgroud)
Gradle版本是4.0.
使用New Module...Android Studio中的选项添加本地AAR ,它始终有效.
这是build.gradle生成的:
configurations.maybeCreate("default")
artifacts.add("default", file('FILENAME.aar'))
Run Code Online (Sandbox Code Playgroud)
在应用程序中,build.gradle我像往常一样声明它:
implementation project(':NAME_OF_THE_MODULE')
Run Code Online (Sandbox Code Playgroud)
我错过了一个突破性的变化吗?以下已知问题与我的问题有关吗?
While using this plugin with Android Studio, dependencies on local AAR files are not yet supported.
更新:旧flatDir技巧仍然可以正常工作:
flatDir {
dirs 'libs'
}
Run Code Online (Sandbox Code Playgroud)
然后将AA复制到该文件夹(即app/libs)中,并以这种方式将其声明为依赖项:
implementation(name: 'libvlc', ext: 'aar')
Run Code Online (Sandbox Code Playgroud)
就我而言,使用“api”解决了问题。
而不是使用:
implementation(name: 'libvlc', ext: 'aar')
使用:
api(name: 'libvlc', ext: 'aar')
在你的库项目的 build.gradle 里面
欲了解更多信息,请参阅:
https://blog.mindorks.com/implementation-vs-api-in-gradle-3-0-494c817a6fa https://developer.android.com/studio/build/dependency.html
| 归档时间: |
|
| 查看次数: |
657 次 |
| 最近记录: |