Один проект Android для Eclipse и Android Studio

Как все мы знаем, Android Studio является официальной IDE для разработки приложений для Android, но Eclipse по-прежнему используется многими разработчиками.

Я сталкиваюсь с такой проблемой, потому что некоторые из наших разработчиков используют Eclipse, а некоторые - Android Studio. В такой ситуации мы можем сделать один проект Android совместимым с Eclipse и Android Studio, внеся изменения в структуру папок или что-то подобное?

Будет интересно, если мы сможем это сделать. Спасибо!

7 ответов

Решение

Я нашел идеальное рабочее решение.

это не так сложно сделать возможным:

  1. Создайте новый пустой проект Android с тем же пакетом в eclipse (Вы можете найти имя пакета в манифесте или просто следуйте шаблону папки, как пример -> src/java/com/xyz/library -> com.xyz.library это название пакета)

  2. Скопируйте и замените новую папку res/ и все вложенные папки в затмении на те, что были в проекте Android Studio

  3. Скопируйте содержимое src/java/com/xyz/library папку из проекта Android Studio в ваш пакет в Eclipse. также добавьте необходимые библиотеки, если это необходимо добавить.

Итак, теперь мы знаем, что нуждающиеся элементы приложения Android - это просто java-файлы, файл манифеста и ресурсы. Оттуда вы можете перестроить проект в вашей любимой Eclipse IDE.

Надеюсь, это будет полезно для вас.

Я нашел легче, но не чистый.

в папке app\src\main создайте 3 файла (или скопируйте из существующего проекта Android Eclipse)

1.classpath

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="java"/>
<classpathentry kind="src" path="gen"/>
<classpathentry kind="con"  path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
....

2.проект

<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
     <name>YOUR_PROJECT</name>

...

3 проекта. Свойства

# Project target.
target=android-22

затем откройте app\src\main как root вашего нового проекта.

сложная часть заключается в добавлении lib в ваш пример проекта eclipse на android studio, вам нужно всего лишь добавить строку вроде

<orderEntry type="library" exported="" name="facebook-android-sdk-3.20.0" level="project" />

но в eclipse вам нужно загрузить проект FacebookSDK и добавить его в качестве библиотеки в свой проект.

но приложения будут работать в обоих IDE, просто запомните, что для студии Android не нужно обновлять папку bin & gen (созданную eclipse) или просить программиста eclipse не фиксировать эти 2 папки.

ура

Да, мы можем сделать это, так я делаю. Вы должны импортировать ваш проект Eclipse вручную. Хорошо, следуйте за моим шагом:

0. В Android Studio используйте File->New Project создать новый проект Android Studio.

1. Скопируйте свой проект Eclipse в корневую папку проекта Android Studio.

2. Изменить settings.gradle файл (в корневой папке проекта Android Studio) добавьте следующий код:

include ':YourProjectName'

3. Добавьте файл build.gradle в проект, который вы хотите импортировать, как показано ниже (Это может сохранить структуру вашего проекта eclipse):

apply plugin: 'com.android.application'

dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
}

android {
    compileSdkVersion 17
    buildToolsVersion "21.1.0"

    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            aidl.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
        }

        // Move the tests to tests/java, tests/res, etc...
        instrumentTest.setRoot('tests')

        // Move the build types to build-types/<type>
        // For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ...
        // This moves them out of them default location under src/<type>/... which would
        // conflict with src/ being used by the main source set.
        // Adding new build types or product flavors should be accompanied
        // by a similar customization.
        debug.setRoot('build-types/debug')
        release.setRoot('build-types/release')
    }
}

4.Наконец, нажмите Build->Rebuild Project на панели инструментов, и вы увидите *.iml файл автоматически генерируется.

Надеюсь, это поможет вам!

Моя команда только что опубликовала проект. Одним из требований является то, что проект должен использоваться пользователями Android Studio и Eclipse. По сути, наш проект представляет собой проект Android Studio, но мы предоставили файл сборки gradle, который "конвертирует" проект в Eclipse.

После того как я бегу gradle -b eclipse.gradle Я на самом деле могу открыть проект в обеих IDE. Я работал с моей командой таким образом в течение нескольких дней. Мы просто осторожно включили файлы.classpath, .project и другие файлы, связанные с Eclipse, в наш файл.gitignore, так как мы не хотим, чтобы эти файлы были в нашем репозитории.

Вот содержимое eclipse.gradle:

apply plugin: 'java'
apply plugin: 'eclipse'

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.0.0'
    }
}

allprojects {
    repositories {
        jcenter()
        mavenCentral()
    }
}

// Add the natures and build commands to the project
eclipse.project {
   natures 'com.android.ide.eclipse.adt.AndroidNature'
 natures 'org.eclipse.jdt.core.javanature'
 buildCommands.clear();
 buildCommand 'com.android.ide.eclipse.adt.ResourceManagerBuilder'
 buildCommand 'com.android.ide.eclipse.adt.PreCompilerBuilder'
 buildCommand 'org.eclipse.jdt.core.javabuilder'
 buildCommand 'com.android.ide.eclipse.adt.ApkBuilder'
}

// The source code is in the java folder
sourceSets.main.java.srcDirs 'java'

dependencies {
    // declare your dependencies here
}

Тем не менее, я думаю, было бы очень сложно, если бы проект Android Studio включал некоторые зависимости в формате aar. AFAIK, Затмение не узнает Аар. Если это так, вы должны:

  1. Разархивируйте файл aar
  2. Извлеките банку
  3. Добавьте ресурсы из файла aar в ваш проект

Да, это интересно. Но вы можете сделать с некоторыми незначительными изменениями.

Для проекта Android Studio для Eclipse сделайте следующее:

  • Создайте новый пустой Android-проект в Eclipse
  • Перезаписать новую папку res/ и файл AndroidManifest.xml файлами из проекта Android Studio
  • Скопируйте содержимое папки java/ из проекта Android Studio (оно должно содержать структуру папок с именем вашего пакета, например com/example/app/ и файлы java) в папку Eclipse src
  • Свяжите нужные библиотеки, если это так

Для Eclipse to Android studio:

Следуйте ответу по следующей ссылке:

Как вы импортируете проект Eclipse в Android Studio сейчас?

Но вы не можете разработать один проект для источника, который совместим с обоими без изменений.

Спасибо, надеюсь, это поможет вам

Оба являются разными IDE (eclipse и intellij). среда сборки, структура проекта совершенно иная. я считаю, что это невозможно

Другие вопросы по тегам