Articles of aar

本地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’ } 现在,当我们构建它时,它会生成aar文件。 但是现在当我们将aar文件放到libs目录并将其设置为依赖项时,我们仍然必须在用户的build.gradle文件中添加相同的依赖build.gradle ,这很糟糕。 它应该来自图书馆,对吗? repositories { flatDir { dirs ‘libs’ } } dependencies { compile(name: ‘ourlibrary’, ext: ‘aar’) { transitive = true; } } 如何使transitive = true工作?

Cordova插件开发 – 添加了aar

我是cordova插件开发的新手。 我想写一个能够打开一个新的android活动并显示一些广告的插件。 所以我在这里遵循一个简单的教程。 这非常有效并且符合预期。 下一步是将此Android Studio Gradle项目包含在我的插件中。 我的第一次尝试:将gradle项目添加到我的cordova插件的子文件夹中,并将以下行添加到plugin.xml文件中: 我也尝试过: gradova文件被cordova识别。 但有些东西不起作用。 所以我无法将android studio项目的类导入到我的插件java文件中。 然后一个更好的解决方案(我想是这样)是添加一个AAR。 但在那里,我甚至不知道如何在我的cordova插件中添加AAR。 所以,问题是:如何以正确的方式将android atudio aroject(或库)添加到我的cordova插件中?

Android库JAR是否依赖于Android库AAR?

我有一个Android库项目FooLib 。 FooLib引用了像Android Context的东西,但不需要任何资源文件( res/东西),所以我现在将它打包为一个JAR,供我的应用程序使用。 我现在想让FooLib依赖于BarLib ,但BarLib 确实使用资源,所以我不能将BarLib为JAR。 相反,它被打包成一个AAR。 我有可能让FooLib依赖于BarLib但继续将FooLib为JAR? 或者,在FooLib中有一个AAR依赖,迫使我把它变成一个AAR呢?

Gradle:下载包含的aar-library的依赖关系

我写了一个库项目cameraBarcodeScanner内置到aar文件。 该库在build.gradle中定义了以下依赖项: dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:23.1.0' compile 'com.google.zxing:core:3.2.1' compile 'com.journeyapps:zxing-android-embedded:3.2.0@aar' } 我在testing应用程序中使用库如下所示: dependencies { compile(name: 'cameraBarcodeScanner-release', ext: 'aar') } Gradlefind应用程序并能够构build它。 但是,在运行时,android无法find位于zxing-android-embedded 。 在我看来,这个gradle并没有下载库项目的依赖关系。 我也试过: dependencies { compile(name: 'cameraBarcodeScanner-release', ext: 'aar'){ transitive = true } 但是这也没有帮助。 我必须以某种方式公开图书馆的依赖关系吗? 你将如何使用一个库,使gradle下载它的依赖关系? 提前致谢!

我们如何通过组合不同的模块来创build一个单一的库?

我想从我的项目中构build单个库,该项目使用许多依赖项和资源。 如果cardview作为jar被导入,它将不具有它的资源,但是当它被添加为aar时,它被添加为另一个模块。 所以我不能把它合并成一个单独的库。 我不想将我的项目提交到存储库。 如何build立图书馆,提前致谢!

Android Studio无法parsing导入的AAR模块中的符号

在类似的问题的所有答案都谈论manunally编辑gradle文件。 但我已经使用Android Studio来导入AAR文件,并检查了build.gradle文件,它们都是正确的。 我的问题是这样的: 我导入了ShowCaseView v5.0.0 AAR,但是当我尝试导入Tutorial.java文件中的类(可以看到红色)时,Android Studio无法识别这些类。 Android Studio只能识别的是com.github.amlcurran.showcaseview.R 。 我也尝试清理和重build项目,closures并重新打开Android Studio,但没有帮助。 PS请忽略丢失的XML文件,因为在我将它们复制到项目之前。 Gradle文件 ShowCaseView-5.0.0> build.gradle: configurations.create("default") artifacts.add("default", file('ShowCaseView-5.0.0.aar')) 我的应用程序的build.gradle: apply plugin: 'com.android.application' android { compileSdkVersion 21 buildToolsVersion "21.1.2" defaultConfig { applicationId "com.giraffeweather" minSdkVersion 19 targetSdkVersion 21 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } […]

如何将Android支持v7库加载到SBT Android项目?

我创build了一个SBT项目,并使用pfn / android-sdk-plugin添加了一个Android模板,我所要做的就是创build一个用于实现recyclerview的testing应用程序。 aar()技术没有find依赖关系。 我的build.sbt … import sbt.Keys._ import android.Keys._ android.Plugin.androidBuild name := "firstsbt" version := "1.0" scalaVersion := "2.10.4" javacOptions ++= Seq("-source", "1.7", "-target", "1.7") scalacOptions in Compile ++= Seq("-deprecation","-feature","-language:implicitConversions","-unchecked") unmanagedBase := baseDirectory.value / "libs" // proguard help proguardScala in Android := true useProguard in Android := true //set dependencies libraryDependencies ++= Seq( //aar("com.android.support" […]

如何dynamic地用Gradle从aar中排除文件?

我有Android库( aar ),包含(和构build模块时)构build本地代码: apply plugin: 'com.android.library' android { compileSdkVersion 16 buildToolsVersion "25.0.0" defaultConfig { minSdkVersion 11 targetSdkVersion 16 versionCode 1 versionName "1.0" ndk { abiFilters 'armeabi-v7a' } } externalNativeBuild { ndkBuild { path 'jni/Android.mk' } } sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] res.srcDirs = ['res'] jni.srcDirs = ['jni'] } } packagingOptions { […]

Android库项目com.android.dex.DexException:多个dex文件定义Lcom / google / gson / JsonSerializer

我正在Android Studio中编写一个库项目。 我的gradle文件包括gson凌空play-services等… 当我的库embedded到一个项目中时,我得到: com.android.dex.DexException:多个dex文件定义Lcom / google / gson / JsonSerializer; 有人可以解释创build库项目时gradle的工作原理吗? 我应该怎样解释集成我的SDK的开发人员,排除模块是如何工作的,以及为什么它不在包括我的aar的应用程序中工作?

如何从android studio创build一个jar文件

我有一个相当新的版本的android studio,我创build了一个基本上应该是一个库的项目下的模块,当我build立它,它创build一个“.aar”文件,我想要的是.jar文件,因为这图书馆应该与日食一起使用。 该库也包含活动,有没有什么办法可以创build一个.jar文件,我可以在Eclipse上使用以及Android Studio? 我已经创build了这个模块,并尝试构build,因此它生成.aar文件而不是.jar文件。