我正在寻找一种方法将本机库打包到AAR包中,因此可以通过gradle脚本中的依赖项声明来使用它.
本机库我指的是.cpp文件集或编译的静态库和一组头文件.所以,我的意思是应用程序本身将从本机代码调用库,而不是从Java调用.换句话说,库需要编译应用程序的本机代码.这样就可以轻松管理本机代码的依赖关系.
它甚至可能吗?
到目前为止,我只能找到很多关于如何使用.so文件及其Java接口创建JNI本机库的AAR的问题/示例,因此lib只是一个带有本机实现的Java库,但这不是我需要的.
我创建了一个非常简单的"Android库"模块,只有一个类可以在调试中构建,构建/输出/库调试.aar
但是,当我切换到发布时,即使它说构建成功,aar也不存在.
Android Studio项目只有这个库模块.
谢谢你提前.
有没有办法在eclipse蚂蚁项目中使用.aar库(带资源)?我知道没有简单的方法可以像gradle那样使用.aar格式,但也许有一些解决方法可以解压缩并手动导入它?
这是我的设置:我有一个Android库,在导出时创建一个aar,我有一个使用该库作为模块的Android应用程序(这是导入本地aar文件的唯一方法).
要在我的Android应用程序中将aar文件作为模块导入,我单击File- > New Module...- > Import .JAR or .AAR Package然后选择我导出的aar文件.之后我只需要compile project在gradle文件中添加一行就可以使用我的库.
我经常更新我的库,因为我正在开发它,我想经常测试它.问题是我不知道如何更新我的Android应用程序项目中的模块...
我现在正在做的是我gradlew assembleRelease在我的android库项目中发出一个创建新的aar文件,然后在我的android app项目中我删除了Module Settings(或Project Structure)窗口中的模块,我删除了项目根目录下的模块文件夹然后我再次导入它.每次我想测试我的图书馆时,整个操作大约需要3分钟,我对此感到厌倦.你知道是否有更快的方法来更新从aar文件创建的android模块?
在Android系统或开发环境中,AAR,JAR,DEX和APK文件之间有什么区别?每个人的目的是什么?
AFAIK,JAR就像.class文件的集合(就像在Java中一样).
AAR是JAR文件+资源.但它的用法是什么?用于分发Android的开发库?
APK似乎类似于.deb或.rpm这样的包.这是在Android上安装应用程序的唯一方法吗?
DEX文件怎么样?编译应用程序......但是与JAR或AAR文件有什么区别?
Moreveor,在为Android分发.so(即本机代码)文件时,最好的方法是什么?
TL\'DR:在此 Android Kotlin 库中,我从 Gradle 5.6.4 更新到 6.6.1(提交d5d8d2)。现在我无法再依赖 aar 来构建项目了。
我构建aar并将其部署到mavenLocal ...
\n$ ./gradlew clean :roadsigns:assemble\n$ ./gradlew publishToMavenLocal\nRun Code Online (Sandbox Code Playgroud)\n...然后在示例 Androidapp模块中引用已部署的库工件。mavenLocal()首先,我在根build.gradle文件中添加:
allprojects {\n repositories {\n google()\n mavenCentral()\n jcenter()\n mavenLocal() // <-- Add this\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n我mavenLocal()直接引用依赖项:
dependencies {\n implementation\n // implementation project(":roadsigns")\n implementation "info.metadude.kotlin.library.roadsigns:roadsigns:$version"\n implementation Libs.kotlinStdlib\n // ...\nRun Code Online (Sandbox Code Playgroud)\n当我构建示例应用程序时,我收到以下构建错误:
\n$ ./gradlew …Run Code Online (Sandbox Code Playgroud) 如何在IDEA中将aar-module添加到项目中(没有gradle,使用ant)?
我正在开发一个包含两个模块的Android项目,其中一个是用于生成.aar文件的库模块,另一个是使用生成的.aar文件的示例应用程序.
因此,AndroidManifest.xml该项目中有两个文件.假设我正在开发蓝牙库,所以我将蓝牙权限放在库的清单文件中.通过将此库包含.aar为依赖项,我可以省略<uses-permission>应用程序清单文件中的标记吗?换句话说,Android应用程序"合并"(可能不是字面上但在语义上)其依赖.aar库的权限?
我的经验表明,虽然某些权限往往表现如上,但其他权限要求在应用程序中进行显式声明AndroidManifest.xml.我想知道我的假设是否属实,是否有任何资源或文档清楚地区分那些可以驻留在.aar库清单中的权限以及那些需要在应用程序自己的清单文件中声明的权限.
谢谢!
我已经将一个模块导入到我的项目中.当我重建项目时,AS给了我一个错误说警告:Dependency Lib:未指定项目应用程序解析为APK归档,不支持作为编译依赖项.我搜索并更改了apply plugin:'com.android.application'to apply plugin: 'com.android.library'并从defaultConfig中删除了ApplicationId.然而我得到同样的错误"Warning:Dependency Lib:unspecified on project app resolves to an APK archive which is not supported as a compilation dependency."任何人都可以帮助我吗?
这是我的gradle代码:
apply plugin: 'com.android.library'
android {
compileSdkVersion 23
buildToolsVersion "23.0.1"
defaultConfig {
minSdkVersion 12
targetSdkVersion 23
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.1.0'
compile 'com.android.support:design:23.1.0'
compile project(':DimenLib')
}
Run Code Online (Sandbox Code Playgroud) 我想知道为什么我的库在AAR格式构建后总是丢失文档.此外,Android Studio缩小了代码,即构建之前的代码总是与内置到AAR格式后的代码不同,没有原始代码.我希望我的库有自己的文档,并有原始代码.你可以看到下面的不同:
建成之前
内置为AAR格式后
文档在哪里?!此外,您会注意到整个代码确实缩小了,并且不同.
那么,如何在不缩小代码的情况下将AAR库与其文档一起导出?