猿问

如何使用Android Studio和Gradle构建android库?

我正在尝试从Eclipse迁移项目,但是没有尝试过。在Eclipse中,我有3个项目(2个android应用程序项目和1个android库项目)。2个应用程序项目取决于库项目。当我执行gradle导出时,我得到3个无效的项目。我愿意对项目进行重组,但尚未找到有关如何完成此工作的任何文档。


有没有办法使Eclipse导出的3个项目一起工作?我最好重新组织一下事情,如果可以的话,是否提供有关如何完成此工作的文档?


更新资料


我已将整个项目上传到GitHub https://github.com/respectTheCode/android-studio-library-example


更新1


根据Padma Kumar的建议,这就是我尝试过的方法。


创建一个名为 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


根据伊桑(Ethan)的建议,这是我们得到的


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

倚天杖
浏览 824回答 3
3回答

交互式爱情

这是我为mac用户提供的解决方案,我认为它也适用于window:首先转到您的Android Studio工具栏Build> Make Project(当您在线时,让其下载文件),然后生成>编译模块“您的应用名称显示在此处”(仍在线,让文件下载并完成),然后运行完成的应用程序,它将启动模拟器并对其进行配置,然后运行它!这就对了!!!快乐的编码家伙!
随时随地看视频慕课网APP

相关分类

Android
我要回答