java - 如何在 AndroidStudio 项目中添加和使用 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); } }
创建了一个测试项目(RefTest)
- 在 RefTest/app 下创建文件夹“libs”
- 将 Ref.aar 添加到库中
- 文件->新建->新建模块->导入 .JAR/.AAR 包。
- 选择 Ref.jar 作为文件名->完成(显示成功)。
修改 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' ) } }
- 同步 build.gradle(全部)
在 RefTest 主活动中添加了对 Ref.aar 方法(方形)的引用到 onCreate。
int sq = Ref.square( 2 );
构建->清理然后构建->重建。
这产生了错误:找不到符号变量 Ref
我确定我在做一些幼稚或愚蠢的事情,但我看不到。
任何帮助表示赞赏。
解决方案
推荐阅读
- flutter - 当 TextFormField 位于组件内时,无法在 Textformfield 中双击
- javascript - 垂直调整浏览器大小时如何阻止内容重叠?
- php - ldap_start_tls():无法启动 TLS,LdapErr:DSID-0C09128B“TLS 或 SSL 已生效”
- javascript - 鉴于我们必须传递与道具相同的对象,如何不可变地更新对象?
- r - 如何找到某组 chr 行每分钟测量的平均值?
- sql - 从同一行查询不同的结果
- python - Python 初学者对 Spyder 和 VSCode 中的不同结果感到困惑
- node.js - 所以我做了一个自定义状态,所以我的 discord.js 机器人在其状态中显示服务器中的成员数量
- mysql - 如何制作如下的pivot mysql表?
- flutter - 没有为所有选项卡调整动态高度,并且当容器中不存在高度时,框正在消失。有没有其他办法