2014-02-14 18 views
5

我克隆了一個公共github存儲庫,並試圖將其導入到Android Studio 0.4.4中。導入效果很好,但它想要將所有源複製到一個新目錄併爲源創建一個「應用程序」目錄。由於我使用的是公共倉庫,我想使用repo克隆的目錄並保持目錄結構的完整,以便我可以獲取更新並推送更改,而無需每次以任何方式複製文件。在Android Studio導入過程中維護目錄結構

有沒有辦法告訴Android Studio保持導入時給定的目錄結構?

或者換個說法,有沒有辦法跳過gradle轉換並導入源代碼?

Thanx提前。

回答

8

目前我們在Eclipse項目導入中沒有選項來保留現有的目錄結構。如果你安裝了Eclipse的副本,你可以在那裏打開它,然後將項目導出到Gradle構建文件;這是一個就地出口。你必須修改它所導出的構建文件,因爲它指定了一個非常舊的插件版本。具體而言,您必須更新dependencies.buildscript.classpath語句以指定0.8。+,並更新gradle/wrapper/gradle-wrapper.properties文件中的distributionUrl屬性以指定Gradle 1.10。

如果你沒有Eclipse,你可以使用這個樣板build.gradle文件來幫助你入門。它複製到項目的根目錄:

buildscript { 
    repositories { 
     mavenCentral() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:0.8.+' 
    } 
} 
apply plugin: 'android' 

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

android { 
    compileSdkVersion 19 
    buildToolsVersion "19.0.1" 

    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') 
    } 
} 

接下來,把這個settings.gradle文件在你的根目錄下。

include ':' 

接下來,文件和gradle這個目錄從您創建安裝包裝項目中的另一個項目的根目錄下複製gradlewgradlew.bat。

它是完整的。您現在應該可以在Android Studio中導入並使用它。

+0

您好先生,你又能幫助我與我的問題[這裏](http://stackoverflow.com/q/36157555/3287204)?謝謝 ... :) –

1

這是我做我的項目在Eclipse ADT轉換到Android工作室,同時保持git的歷史的步驟:

  1. 重命名我的項目目錄Project.eclipse
  2. 從非Android系統的選擇「導入Studio項目「
  3. 給它的目標目錄的原始項目名稱(它將創建目錄特定的文件,並使用該名稱)
  4. 它完成轉換後,確保它編譯。
  5. 接近了Android Studio中的
  6. 重命名新項目目錄Project.astudio
  7. 重命名原始的Eclipse ADT項目目錄回到通過創建的進口Summary.txt文件讀取原來的目錄名
  8. 導入器,並使用git命令重新創建它手動列出的所有更改(通常包括移動AndroidManifest。XML和源和資源文件到一個新的目錄路徑
  9. 更改您的.gitignore文件,內容如下:

    .gradle 
    /local.properties 
    /.idea/workspace.xml 
    /.idea/libraries 
    .DS_Store 
    /build 
    /app/build 
    
  10. 比較的目錄和新項目複製任何文件不在舊的回到它(通常是gradle和想法文件),然後「git add」它們。不要忘記任何新創建的子項目(其中至少包含一個用於主應用程序)內的build.gradle文件

  11. 使用git命令從原始項目中刪除任何不存在於新項目中的文件一個也不是故意放在那裏的(也就是保留自己的README和LICENSE文件等,但是像留下的eclipse項目數據那樣的東西)
  12. 在上面的過程中經常使用「git status」來查看什麼是匹配的/不匹配,並根據需要添加或git rm。
  13. 嘗試在Android Studio中打開該項目,確保它正確打開並生成。如果一切正常...
  14. 接近了Android Studio中
  15. 的git的承諾

這聽起來像一個漫長的過程,但它讓你的歷史完好無損,同時讓你把新的目錄結構的優勢,它對我來說非常有用。