69

如何在 Android Studio 中将现有的 Android 项目转换为 Android 库项目?在 Eclipse 中,这是可能的。

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

4

6 回答 6

97

在你的模块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" />

您可能已经知道,您将无法运行(现在)库项目——您需要将其包含到应用程序项目中。

如果您使用的是 Android Studio 1.0 并且收到“库项目无法设置 applicationId”,请确保您applicationId的 Gradle 构建文件中没有。

于 2014-05-20T16:27:38.767 回答
5

查看此文档 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
}
于 2013-11-26T15:40:29.157 回答
1

更改为库

  1. 转到 android 项目,您需要在其中更改为库模块。

  2. 在 build.gradle(:app) 文件中,

  • 将此行更改为

    plugins {
      id 'com.android.application'
      }
    

    plugins {
      id 'com.android.library'
      }
    
  1. 删除同一 build.gradle(:app) 文件中applicationId的行

    defaultConfig {
         applicationId "com.project.example" //remove this line
         minSdk 21
         targetSdk 31
         versionCode 1
         versionName "1.0"
    
         testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
     }
    
  2. 现在将项目与 Gradle 文件同步。

于 2022-01-20T07:32:24.613 回答
0

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

右键单击项目名称 -> 将目录标记为(底部) -> 源根

我不知道 Resources Root 和 Sources Root 之间的区别,并且有点谷歌搜索来找到答案,但希望这是正确的。我只知道图书馆不应该构建 apk,并且在设置此选项后,它不能,所以我假设它可以工作。

如果有人比我知道的多,请说出来!

于 2013-10-07T16:53:24.123 回答
0

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

于 2013-07-12T17:24:35.103 回答
0

如果您使用命令行进行操作,例如 chanakya 建议,则必须使用以下命令对其进行更新:

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

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

这适用于 Eclipse,但不适用于 android-studio,因为更新了build.xml.

于 2013-08-23T13:01:46.587 回答