我是Android开发人员的新手,我希望这些问题可以轻松解答:
我正在尝试将this添加到我的Android Studio项目中。我已经设法让它与互联网开发盒一起工作,但现在我正在尝试对离线版本做同样的事情。
我想我想将它添加为“库”,而不是“模块”,因为我不想更改它并处理未来的版本合并。
我已经下载了tar.gz文件,我看到的唯一.jar或.aar文件是“gradle-wrapper.jar”。为什么他们包含编译的gradle代码?
我是否应该提取此.tar.gz并将Android Studio指向它以将其视为单独的项目以编译.aar / .jar文件?我该如何知道要处理项目目录的目录?多个目录包括build.gradle文件。
一旦我有.jar / .aar,我应该把它放在哪里?这里有很多“lib”目录。
提前致谢!
答案 0 :(得分:0)
您要添加的项目可在在线maven存储库中找到。您可以使用Gradle添加几行脚本而不是从源代码下载和编译,然后手动添加到库目录。
Gradle是一个依赖项管理器,它能够从在线存储库中提取依赖项并自动将其添加到项目中。根据您的IDE,您可能需要在继续之前安装与Gradle / Maven相关的插件。然后,按照"安装"中项目自述文件中的说明进行操作。只需在build.gradle
中添加这些行,您的IDE就应该开始从存储库下载库并将其添加到项目中。
答案 1 :(得分:0)
尤里卡! 哇,这不直观。整个系统似乎真的,真的想要一个互联网连接。更严肃的公司如何为Android开发软件?当然,他们并没有抓住任何挂在外部存储库周围的文件,而是继续使用它们吗?
从这里回答:http://www.b2cloud.com.au/tutorial/using-local-android-library-packages-aar/
似乎没有办法在GUI中执行此操作。
Gradle和Android Studio不支持.AAR文件以及.JAR文件。这让我很奇怪。我想这些文件格式之间的差异比我想象的要多。
引入外部.AAR文件:
apply plugin: 'com.android.application' // first important part: tell gradle to treat the libs folder as a repo. repositories{ flatDir { dirs 'libs' } } android { compileSdkVersion 26 buildToolsVersion "26.0.0" defaultConfig { applicationId "com.example.user.simplelocationtester" minSdkVersion 14 targetSdkVersion 26 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2',
{ 排除组:' com.android.support',module:' support-annotations' }) 编译' com.android.support:appcompat-v7:26。+' compile' com.android.support.constraint:constraint-layout:1.0.2' testCompile' junit:junit:4.12'
//here's the 2nd important part: specify the AAR file compile(name:'Android-SimpleLocation-v1.0.1', ext:'aar') }