Don*_*nic 4 java android build.gradle android-gradle-plugin aar
我正在尝试在我的android项目中使用自定义aar。我在StackOverflow和Web中找到了许多示例。许多构建失败,没有一个起作用。最清晰的网址是
http://kevinpelgrims.com/blog/2014/05/18/reference-a-local-aar-in-your-android-project/
最接近工作的地方。
这就是我所做的
从Ref.java成功创建了一个非常简单的AAR(Ref.aar)
// Ref.java
package com.ramrod.Ref;
public class Ref {
// Square an integer
public static int
square(int val) {
return (val * val);
}
}
Run Code Online (Sandbox Code Playgroud)创建一个测试项目(RefTest)
修改后的build.gradle
// build.gradle (Module: app)
apply plugin: 'com.android.application'
android {
compileSdkVersion 27
buildToolsVersion "27.0.3"
defaultConfig {
applicationId "com.ramrod.RefTest"
minSdkVersion 11
targetSdkVersion 15
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
repositories {
flatDir {
dirs 'libs'
}
}
dependencies {
compile( name:'Ref', ext:'aar' )
}
}
Run Code Online (Sandbox Code Playgroud)在RefTest主要活动中的onCreate上添加了对Ref.aar方法(正方形)的引用。
int sq = Ref.square( 2 );
Run Code Online (Sandbox Code Playgroud)生成->清理,然后生成->重建。
产生此错误:找不到符号变量Ref
我敢肯定我在做些天真或愚蠢的事,但我看不到。
任何帮助表示赞赏。
你应该:
1)创建aar库并将其放在libs目录中(不带 “文件->新建->新模块->导入.JAR / .AAR包”)
2)添加到build.gradle(模块:应用)
dependencies {
...
implementation fileTree(include: ['*.aar'], dir: 'libs')
...
}
Run Code Online (Sandbox Code Playgroud)
之后,您可以使用 Ref.square(int);
您的apk将在构建后包含:
当您使用导入 aar/jar 选项从内置帮助工具导入 AAR 时,studio 会使用此 aar 创建一个模块。
所以在这个状态下你可以看到类似于下面提到的状态。当显示面板为 Android 时,
将面板模式更改为 Project 并打开 testaar ,您实际上可以看到模块的 build.gradle 文件和相应的 aar。
这就是为什么你的声明
compile( name:'Ref', ext:'aar' )
Run Code Online (Sandbox Code Playgroud)
没有工作。
要将这个 aar 添加到您的项目中(使用 import aar/jar 之后),您可以做的是首先将模块添加到 settings.gradle(项目设置文件)
include ':app', ':testaar'
Run Code Online (Sandbox Code Playgroud)
然后直接添加到你的应用级 build.gradle 文件中
implementation project(':testaar')
Run Code Online (Sandbox Code Playgroud)
2)另一种方法是
右键单击您的应用程序模块 -> 选择打开模块设置 -> 选择模块 -> 转到依赖项选项卡
PS 你也可以从 Build->Edit Libraries and Dependencies 打开这个窗口
你会遇到一个窗口,如下所示
单击小 + 图标,然后单击模块选项,最后添加所需的模块(testaar)
同步您的代码,瞧它现在就可以开始工作了。
| 归档时间: |
|
| 查看次数: |
6199 次 |
| 最近记录: |