我一直在尝试新的Android构建系统,我遇到了一个小问题.我已经编译了自己的ActionBarSherlock的aar包,我称之为'actionbarsherlock.aar'.我正在尝试做的实际上是使用这个aar来构建我的最终APK.如果我使用编译项目(':actionbarsherlock')将整个ActionBarSherlock库作为android-library模块包含到我的主项目中,我可以成功构建而没有任何问题.
但我的问题是,我想将该依赖项作为aar文件包手动提供,如果我想要一个JAR,那么我似乎无法弄清楚如何正确地将它包含到我的项目中.我试图使用编译配置,但这似乎不起作用.我继续在编译期间找不到符号,这告诉我来自aar包的classes.jar没有包含在类路径中.
有谁知道手动将aar包作为文件包含的语法?
的build.gradle
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.4'
}
}
apply plugin: 'android'
repositories {
mavenCentral()
}
dependencies {
compile files('libs/actionbarsherlock.aar')
}
android {
compileSdkVersion 15
buildToolsVersion "17.0"
}
Run Code Online (Sandbox Code Playgroud)
编辑:所以答案是它目前不支持,如果你想跟踪它,这是问题.
编辑:目前仍然没有直接支持,最好的替代方案似乎是来自@RanWakshlak的建议解决方案
编辑:使用@VipulShah提出的语法也更简单
我知道这个问题:将本地.aar文件添加到我的gradle构建中,但该解决方案对我不起作用.
我尝试将此语句添加到我的build.gradle文件的顶级:
repositories {
mavenCentral()
flatDir {
dirs 'libs'
}
}
Run Code Online (Sandbox Code Playgroud)
我还把slidingmenu.aar文件放入/libs并在dependencies部分中引用它:compile 'com.slidingmenu.lib:slidingmenu:1.0.0@aar'但它根本不起作用.
我也试过compile files('libs/slidingmenu.aar')但没有运气.
我错过了什么?有任何想法吗?
PS Android Studio 0.8.2
android android-studio build.gradle android-gradle-plugin aar
我们正在为我们的API创建一些库,我们将使外部开发人员的生活更轻松.
因此,我们创建了新的库项目,并将Retrofit和其他一些库作为依赖项.
dependencies {
compile 'com.android.support:appcompat-v7:23.3.0'
compile 'com.google.code.gson:gson:2.6.2'
compile 'com.squareup.retrofit2:retrofit:2.0.1'
compile 'com.squareup.retrofit2:converter-gson:2.0.1'
compile 'com.squareup.okhttp3:okhttp:3.2.0'
}
Run Code Online (Sandbox Code Playgroud)
现在,当我们构建它时,它会生成aar文件.
但是现在当我们将aar文件放到libs目录并将其设置为依赖项时,我们仍然必须在用户的build.gradle文件中放置相同的依赖项,这很糟糕.它应该来自图书馆,对吧?
repositories {
flatDir {
dirs 'libs'
}
}
dependencies {
compile(name: 'ourlibrary', ext: 'aar') {
transitive = true;
}
}
Run Code Online (Sandbox Code Playgroud)
如何transitive = true上班?
有没有办法将VLC媒体播放器嵌入Android应用程序?我有几个问题:
1)我有一个视频流摄像头(来自RTSP),我不能在我的常规视频视频面板上播放它(抱歉,这个视频无法播放错误).但是,我安装了Android的VLC应用程序(测试版),我能够播放它.2)我的主要目标是移植使用VLC插件到Android的桌面java应用程序.我想用最少的努力完成这项任务(我有一些时间问题).
另一种方法是,有没有办法将VLC使用的编解码器嵌入到我的应用程序中?因为使用我的视频,结果会根据视频的格式而有所不同.我可以在我的视频视频中播放通过RTSP流式播放的其他视频.
我通过互联网搜索并找到了一个"libvlc",但也有一些关于android的libvlc未完成的注释(但这些注释属于过去的时间,即使在stackoverflow中也是如此).