在Android Studio中将现有项目转换为库项目

时间:2013-07-12 11:47:08

标签: android android-studio android-library

如何在Android Studio中将现有Android项目转换为Android库项目? In Eclipse, that is possible.

实际上,我想将一个旧的Android项目转换为Android库项目,以便我可以使用该Android项目的现有代码来构建一个Android项目中的微小更改的新Android项目。

5 个答案:

答案 0 :(得分:83)

在模块的build.gradle文件中(如果您使用模块,则不是根项目!),只需替换:

apply plugin: 'com.android.application'
// or, if you're on an old version
apply plugin: 'android' // note: this one is deprecated

...与:

apply plugin: 'com.android.library'
// or, if you're on an old version
apply plugin: 'android-library' // note: this one is deprecated

请注意,最近,'android'已更改为'com.android.application',而'android-library'已更改为'com.android.library'。避免在新项目中使用旧名称。

更新build.gradle文件后,您应该使用Gradle文件同步项目(位于工具栏中),因为不这样做可能会导致错误和事情不正常。

然后,Android Studio将更新一些文件以指示该模块现在是一个库;因为这将被添加到.iml文件中:

<option name="LIBRARY_PROJECT" value="true" />

您可能已经知道,您将无法运行您的(现在)图书馆项目 - you will need to include it into an app project

If you're using Android Studio 1.0 and you are getting “Library projects cannot set applicationId”, make sure you do not have applicationId in your Gradle build file.

答案 1 :(得分:3)

看看这份文件 http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Multi-project-setup

我认为你所要做的就是将它添加到你的build.gradle文件中,

创建图书馆计划

apply plugin: 'android-library'

从链接

创建图书馆计划

图书馆项目与常规Android项目非常相似,但有一些差异。

由于构建库与构建应用程序不同,因此使用了不同的插件。在内部,两个插件共享大部分相同的代码,它们都由相同的com.android.tools.build.gradle jar提供。

buildscript {
    repositories {
        mavenCentral()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:0.5.6'
    }
}

apply plugin: 'android-library'

android {
    compileSdkVersion 15
}

答案 2 :(得分:0)

在文件资源管理器中打开项目,打开project.properties并尝试在project.properties中更改android.library = true

答案 3 :(得分:0)

如果您使用命令行创建它,就像chanakya建议的那样,您必须使用以下命令进行更新:

android update lib-project \
--target <target_ID> \
--path path/to/your/project

请参阅:http://developer.android.com/tools/projects/projects-cmdline.html#ReferencingLibraryProject

这是eclipse的工作,但是因为更新build.xml而没有为android-studio工作。

答案 4 :(得分:0)

这是一个迟到的回应,但我一直在尝试做同样的事情。以上所有似乎都没有为我完成这项工作,但我发现我认为这有效:

右键单击项目名称 - &gt;标记目录为(在底部) - &gt;来源根

我不知道Resources Root和Sources Root之间的区别,以及一些googleing来回答问题,但希望这是正确的。我只知道一个库不应该构建一个apk,并且在设置了这个选项后,它不能这样我假设它有效。

如果有人比我更了解,请说出来!