如何建立与 Android studio和 gradle android 库
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何建立与 Android studio和 gradle android 库相关的知识,希望对你有一定的参考价值。
Gradle 已定义的结构 (即您可以更改底部链接将告诉您如何),是与 Maven 非常相似,如果您曾经使用过它。Project Root
+-- src
| +-- main (your project)
| | +-- java (where your java code goes)
| | +-- res (where your res go)
| | +-- assets (where your assets go)
| | \\-- androidManifest.xml
| \\-- instrumentTest (test project)
| \\-- java (where your java code goes)
+-- build.gradle
\\-- settings.gradle
如果你仅有的一个项目,不是需要的 settings.gradle 文件。但是你想要添加更多的项目,所以我们需要它。
现在让我们看一看那个 build.gradle 文件。你会需要这个在它 (要添加的 android 工具)
build.gradle
buildscript
repositories
mavenCentral()
dependencies
classpath \'com.android.tools.build:gradle:0.3\'
现在我们需要告诉 Gradle 一些 android 系统部件。它是相当简单的。一个基本的那个 (在大多数我情况下的工作方式) 如下所示。我在此块中有一个注释,它将允许我指定的版本名称和代码生成 APK 时。
build.gradle
apply plugin: "android"
android
compileSdkVersion 17
/*
defaultConfig
versionCode = 1
versionName = "0.0.0"
*/
东西我们要想要添加,然而,就没见过的 Gradle 光的人帮助他们使用该项目,而不安装它的方式。
build.gradle
task wrapper(type: org.gradle.api.tasks.wrapper.Wrapper)
gradleVersion = \'1.4\'
所以现在我们有一个要生成的项目。现在我们要添加其他人。我把它们放在一个目录中,或许称之为指标或子项目。这是无关紧要的但你需要知道你把它放哪。要告诉 Gradle 项目在哪里你都需要将它们添加到 settings.gradle。
目录结构:
Project Root
+-- src (see above)
+-- subProjects (where projects are held)
| +-- reallyCoolProject1 (your first included project)
| \\-- See project structure for a normal app
| \\-- reallyCoolProject2 (your second included project)
| \\-- See project structure for a normal app
+-- build.gradle
\\-- settings.gradle
settings.gradle:
include \':subProjects:reallyCoolProject1\'
include \':subProjects:reallyCoolProject2\'
您应该确保的最后一件事是subProjects/reallyCoolProject1/build.gradle apply plugin: "android-library" 而不是 apply plugin: "android" 。
像每个 Gradle 项目 (和 Maven) 我们现在需要告诉关于它的依赖性的根项目。这还可以包含任何你想要的正常 Java 依赖。
build.gradle
dependencies
compile \'com.fasterxml.jackson.core:jackson-core:2.1.4\'
compile \'com.fasterxml.jackson.core:jackson-databind:2.1.4\'
compile project(":subProjects:reallyCoolProject1")
compile project(\':subProjects:reallyCoolProject2\')
我知道这看起来像很多步骤,但他们是很容易的一旦你这样做一次或两次。这种方式也将允许您可以假设你有没有安装了 Android SDK 的 CI 服务器上生成。
NDK 侧注: 如果您要使用 NDK 你需要的东西喜欢下面。可以在这里找到 build.gradle 文件的示例:https://gist.github.com/khernyo/4226923
build.gradle
task copyNativeLibs(type: Copy)
from fileTree(dir: \'libs\', include: \'**/*.so\' ) into \'build/native-libs\'
tasks.withType(Compile) compileTask -> compileTask.dependsOn copyNativeLibs
clean.dependsOn \'cleanCopyNativeLibs\'
tasks.withType(com.android.build.gradle.tasks.PackageApplication) pkgTask ->
pkgTask.jniDir new File(\'build/native-libs\')
参考技术A 在 Eclipse 中我有 3 个项目 (2 个 android 应用程序项目和 1 个 android 库项目)。2 应用程序项目依赖的库项目。当我做 gradle 出口时不工作的 3 项目吧我对重组项目开放但还没找到如何应该这样的任何文档。
有一个能让 3 项目那日食出口工作在一起吗?我更好地关闭重组的事情和如果是如何应该这样的文档吗?
更新
我已将整个项目上载到 GitHub https://github.com/respectTheCode/android-studio-library-example
更新 1
根据建议从帕德玛 · 库马尔 · 这是我已经试过。
创建一个称为的新项目MyApp
单击 File > New Module ,选择 Android Library 并将其命名MyLib
单击Build > Make Project
生成失败,此错误
Module "MyLib" was fully rebuilt due to project configuration/dependencies changes
Compilation completed with 1 error and 0 warnings in 19 sec
1 error
0 warnings
/.../MyApp/MyLib/build/bundles/debug/AndroidManifest.xml
Gradle: <manifest> does not have package attribute.
然后,添加 package 特性使它的清单
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.mylib" >
在大厦后出现此错误
Module "MyApp" was fully rebuilt due to project configuration/dependencies changes
Compilation completed with 2 errors and 0 warnings in 13 sec
2 errors
0 warnings
/.../MyApp/MyLib/src/main/java/com/example/mylib/MainActivity.java
Gradle: package R does not exist
Gradle: package R does not exist
添加依赖关系似乎不该错误产生任何影响。继续从上面
单击File > Project Structure > Modules > MyApp-MyApp
切换到 Dependencies 选项卡
单击 + > Module Dependency 和挑MyLib
单击 Apply 和OK
单击Build > Make Project
更新 2
根据伊桑这是我们从哪里得到的建议
2 子项目 build.gradle 似乎有了正确的部件的所有和唯一的区别是插件线波纹管是 MyApp/build.gradle 。
buildscript
repositories
maven url 'http://repo1.maven.org/maven2'
dependencies
classpath 'com.android.tools.build:gradle:0.4'
apply plugin: 'android'
dependencies
compile files('libs/android-support-v4.jar')
android
compileSdkVersion 17
buildToolsVersion "17.0.0"
defaultConfig
minSdkVersion 7
targetSdkVersion 16
根项目 build.gradle 是空的因此增加了像这样的两个项目
dependencies
compile project(":MyLib")
compile project(":MyApp")
我现在会出现此错误时建设
Gradle:
FAILURE: Build failed with an exception.
* Where:
Build file '/Users/kevin/GitHub/AppPress/MyApp/build.gradle' line: 2
* What went wrong:
A problem occurred evaluating root project 'MyApp'.
> Could not find method compile() for arguments [project ':MyLib'] on root project 'MyApp'.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
更新 3
大的感谢伊解决此问题。
添加 compile project(':SubProjects:MyLib') 到MyLib/build.gradle
删除 compile files('libs/android-support-v4.jar') 从MyLib/build.gradle
关闭项目并从 gradle 导入根项目
更新 4
0.1.2 到你现在可以包括 compile "com.android.support:support-v4:13.0.0" 而不是 compile files('libs/android-support-v4.jar') 。因为它来自住友公司专家现在可以包括这在多个项目中没有问题。
buildscript
repositories
mavenCentral()
dependencies
classpath 'com.android.tools.build:gradle:0.4.2'
apply plugin: 'android'
dependencies
compile "com.android.support:support-v4:13.0.0"
compile project(':SubProjects:MyLib')
参考技术B Android Studio中jar包放在libs目录下,jni编译的so库存放在libs目录下的armeabi目录中。
导入步骤:
1. 右键app目录,find path,即打开app目录。
2. 在libs目录下新建文件夹,名字为 armeabi,注意名字不能改。
3. 将jar复制到libs目录下。
4.将.so库文件复制到armeabi目录下即可。
SQL-server 如何与 visual studio 建立连接
SQL-server 如何与 visual studio 建立连接
TCP/IP右键,点击启动,再双击。
6.点击应用。
7.重新启动数据库。
以上是关于如何建立与 Android studio和 gradle android 库的主要内容,如果未能解决你的问题,请参考以下文章
如何在android studio 1.4的默认情况下从右侧制作导航菜单
我的颤振项目在 android studio 中缺少 Gradle 窗口