我决定将我的项目从Eclipse迁移到Android Studio,我发现这样做有很多困难。我遇到的最大问题是:
我有几个使用一些常见项目(库)的应用程序。将应用程序导入Android Studio时,它会检测引用的库并将它们添加到应用程序中(复制应用程序文件夹下的库文件夹)。这是我不想做的事情,因为这些库对于1个以上的应用程序是通用的,所以我希望它们与应用程序文件夹位于同一目录级别,并且只是从应用程序引用它们。这是如何在Android Studio中完成的?在Eclipse中,您只需从项目属性中添加引用。此外,如何在Android Studio中导入库项目?我想将每个库作为单独的项目导入并单独构建它们。
有没有关于此的好教程?我在Eclipse方面有很多经验,但我对Gradle来说是全新的。
这是我的意思的一个例子:
我有两个项目,ProjectA和ProjectB。他们都使用我,LibA和LibB开发的一些图书馆项目。所有4个项目都在名为Applications的同一个文件夹下 - 因此这两个库是常见的,如果我更改其中一个,我只需要重新编译这两个项目。将ProjectA导入Android Studio(具有最新版本)后,导入过程创建了以下结构。在基本文件夹Studio Applications下,我有一个名为ProjectA的项目文件夹。在文件夹ProjectA下,我有另一个文件夹,ProjectA(主项目文件所在的文件夹)和另外两个文件夹,LibA和LibB。我想要的是将两个库项目单独导入(作为Android Studio中的库项目),并在主应用程序文件夹下只有ProjectA文件夹(以及其余的标准gradle文件夹,即.gradle,.idea) ,建立等)。
如何做到这一点?我需要两件事:首先,将Eclipse项目库项目导入Android Studio,然后导入项目,但不要在项目路径下复制库,而是引用它们。
答案 0 :(得分:1)
只需导入你的应用程序没有项目库(我假设libs在maven中可用)
之后,您只需要在gradle文件中添加依赖项
// your gradle file inside your app folder
dependencies {
compile 'com.squareup.okhttp:okhttp:2.3.0' // example of importing okhttp
compile 'com.facebook.android:facebook-android-sdk:4.1.1' // example importing facebook sdk
compile project(':name_of_local_project') // local project
}
如果你想包含另一个文件夹(不同项目)的项目
将其添加到settings.gradle
project(':module1').projectDir = new File(settingsDir, '../another_path')
这是一种更简单的方法,您可以在没有太多工作的情况下更新lib
答案 1 :(得分:0)
问题在于我也为库模块启用了proguard。 Proguard在库模块中混淆了类和函数名称,并且在引用它们的应用程序中找不到它们。在应用程序中移动/合并proguard文件是解决方案。