1. 程式人生 > >Eclipse 專案轉移到Android Studio遇到的問題

Eclipse 專案轉移到Android Studio遇到的問題

1、Android Studio直接匯入專案是copy原專案的,無法納入程式碼管控

解決方案:

英文地址:http://developer.android.com/sdk/installing/migrate.html
翻譯:Android Studio 中文組(大錘譯)

如果你之前有用Eclipse做過安卓開發,現在想要把Eclipse中的專案匯入到Android Studio的環境中,那麼首先要做的是生成Build Gradle的檔案。因為Android Studio 是用Gradle來管理專案的,具體操作步驟如下:

從Eclipse中匯出

1.將你的ADT外掛版本升級到22.0以上。
2.在Eclipse中,選擇File-->Export。
3.在彈出的匯出視窗中,開啟Android的資料夾,選擇“Generate Gradle Build Files”。
4.選中你想要匯入到Android Studio中的專案,Finish。

PS:匯出的專案將會和原來的專案在同一目錄,覆蓋原來的同時,會新增一個叫build.gradle的檔案,匯入Android Studio時將首先讀取這個檔案。

匯入到Android Studio
1.在Android Studio 中,首先關掉你當前的開啟的專案。
2.在歡迎介面,點選Import Project(注:也是可以直接在選單選擇Import project的)
3.選中你在Eclipse中匯出的專案,展開目錄,點選build.gradle檔案,然後OK
4.在之後的彈出對話方塊中,會要求你選擇Gradle的配置,選中Use gradle wrapper.(注:也可以自定義你本機裝的Gradle)

PS:如果沒有Grade build檔案,也是可以將普通的安卓專案匯入到Android Studio中,它會用現有的Ant build.但為了更好地使用之後的功能和充分使用構建變數,還是強烈地建議先從ADT外掛中生成Gradle檔案再匯入Android Studio

2、編譯錯誤1

Error:duplicate files during packaging of APK D:\work\xxx\build\outputs\apk\xxx-debug-unaligned.apk
Path in archive: META-INF/LICENSE.txt
Origin 1: D:\work\\libs\httpmime-4.1.3.jar
Origin 2: D:\work\\libs\ant.jar
You can ignore those files in your build.gradle:
android {
 packagingOptions {
   exclude 'META-INF/LICENSE.txt'
 }
}
Error:Execution failed for task '::packageDebug'.
> Duplicate files copied in APK META-INF/LICENSE.txt
File 1: D:\work\libs\httpmime-4.1.3.jar
File 2: D:\work\libs\ant.jar
解決方案:在build.gradle中android {}中新增
packagingOptions {
        exclude 'META-INF/DEPENDENCIES.txt'
        exclude 'META-INF/LICENSE.txt'
        exclude 'META-INF/NOTICE.txt'
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/DEPENDENCIES'
        exclude 'META-INF/notice.txt'
        exclude 'META-INF/license.txt'
        exclude 'META-INF/dependencies.txt'
        exclude 'META-INF/LGPL2.1'
    }


3、編譯錯誤2

importing a project creates a full copy
Error:(16, 0) Cause: startup failed:
build file 'D:\mc_works\\build.gradle': 16: unexpected char: '\' @ line 16, column 33.
               java.srcDirs = ['src\main\java']
方案:gradle裡 “\” 改為 “/”

4、編譯錯誤3 - 無法編譯

在專案主gradle新增

allprojects {
    repositories {
        jcenter()
    }
}

5、執行出錯-jni lib load失敗,jni未成功引入專案導致

解決方案:在build.gradle裡新增下面配置

sourceSets {
    main {
jniLibs.srcDirs = ['libs']

6、原專案根目錄下有jni目錄,可能觸發自動編譯ndk

解決方案:gradle中新增下面紅色部分即可避免觸發ndk編譯, jni.srcDirs設為空

android {
    compileSdkVersion 19
    buildToolsVersion "23.0.0 rc3"

    defaultConfig {
        applicationId "com.xxx"
        minSdkVersion 15
        targetSdkVersion 19
        sourceSets.main {
            jni.srcDirs = []
            jniLibs.srcDir 'src/main/libs'
        }

.....


    }

快捷鍵可以設定成eclipse習慣(還是有些快捷鍵不一樣):



相關推薦

eclipse專案匯入android studio 各類問題及解決方法

          隨著時間的推移,技術的推進,開發android的IDE,逐漸由 eclipse轉移到android studio,但…  我們的拖延症是很嚴重的,只要eclipse能用一天就絕不遷移,只到有一天,專案越來越大,引入的第三方庫越來越多,超過了android

手把手圖文教你從Eclipse專案遷移Android Studio

從Android的誕生,大家所熟知的開發工具就是IDE就是Eclipse,隨著Google大力推薦Android Studio,Eclipse將慢慢推出歷史舞臺,但是從前很多老專案都是由Eclipse開發,我很信還有絕大部分人在用Eclipse開發,為了適應

Eclipse 專案轉移Android Studio遇到的問題

1、Android Studio直接匯入專案是copy原專案的,無法納入程式碼管控 解決方案: 英文地址:http://developer.android.com/sdk/installing/migrate.html 翻譯:Android Studio 中文組(大錘譯)

新建專案和匯入之前eclipse打包過的專案android studio打包apk詳解

一、打包之前沒打包過的專案 1.開啟as自己想要打包專案介面,點選如下圖: 2.點選後會出現下圖:貌似和eclipse有點相同 3.應為是之前沒有打包過上面顯示button出現如下圖: 4.看到

Android】一步一步教你從Eclipse移植專案Android Studio(1.4)

今天搞了差不多一整天,終於成功把原來在Eclipse的專案移植到了Android Studio上面。其實網上關於如何做移植已經有不少文章了,而且Android Develop的官網也有介紹,但是差不多網上的版本都已經過時,因為Android Studio和Gradle的版本

專案Eclipse轉到Android Studio

從Eclipse遷移: 1.從svn上拉取專案:File -> new -> other -> SVN ->從SVN檢出專案… 如果報 refused by server問題,關掉代理,重啟電腦,開啟瀏覽器能上網就好了

[轉載]將Unity專案匯入Android Studio 作為Android專案的一部分

1.首先說下Unity生成的AS專案的大概結構 如下所示看看有沒有不全的如果檔案不全 Unity重新生成專案2.檔案齊全 以匯入Moudle的方式把Unity生成的專案當成一個單獨專案匯入Studio 正常執行就下一步 不能正常執行 重新打包3.開始配置專案①.把unity3

匯入Eclipse工程 到 Android Studio

一、從Eclipse匯入工程到Android Studio 根據官方的介紹,Android Studio可以相容Eclipse的現有工程,但需要做一些操作: 首先升級ADT到最新版本,目前為版本號為22(注意和ADT相關的元件最好一併升級,避免後期可能出現的錯誤) 選擇需要從Eclipse匯出的工程,右

匯入adt專案進入android studio報Error:(2) Error parsing XML: prefix must not be bound to one of the reserved

在匯入Adt用ant編譯的專案進入android studio後,編譯報如下錯誤: Error:(2) Error parsing XML: prefix must not be bound to one of the reserved namespace names 在彈

圖文詳解——將github開源專案匯入android studio

將開源專案匯入Android Studio 先將工程匯入 匯入開源專案後需注意,先檢查好引數,不要急著執行 先獲取本地及開源專案相關引數,包含如下幾個(括號中是本人本地及開源專案的相關引數值): 本地引數名稱

遷移專案Android Studio 3.2 提示 mips64el-linux-android 異常

Android Studio 3.2 版本正式版在前段時間已經發布了,我個人是比較期待這個版本的,因為在這個版本之後,我們就可以使用官方架構元件 Android Jetpack了,Jetpack是Google為了開發者構建應用提供的一套元件、工具和架構指導。詳細的更新說明請

eclipse專案匯入android studio1.5

      谷歌不再支援eclipse adt外掛了,需要把eclispe專案轉移到android studio上    谷歌在2013年為開發者提供的IDE環境工具Android Studio現在

zyx|轉載|30s為您推薦github上優秀Android專案Android Studio原始碼)

1。菜鳥新聞 菜鳥新聞 客戶端是一個仿照36Kr官方,實 時抓取36Kr官網資料的資訊類新聞客戶端。 包括首頁新聞,詳情,發現,活動,實時資料抓取,側滑效果,第三方登入以及分享,訊息推送等相關功能客戶端。 2。KuaiChuan 仿茄子快傳的

Android原始碼專案匯入android studio

時間匆匆,我也畢業開始工作有兩個月的時間了。由於工作關係開始研究安卓原始碼相關的內容。剛開始準備採取單獨編譯某個系統app,然後替換對應system分割槽priv-app中的內容,而不用重複燒錄的方法。但是經過試驗這種方法沒有行得通。不知道哪位大神有沒有避免重複

匯入專案android studio中遇到的各種問題

最近學習一下別人的原始碼,於是在網上下載了各種原始碼,有17年的16年的等,本來是想直接找一個androidstudio專案,看著這些年份相對13年(Androidstudio問世)比較久遠,猜想這些應該是androidstudio專案了吧,可是我所連續下載的三個都是ecli

github專案匯入Android studio 出現的問題及解決

前言 剛用AS的時候,真心覺得坑不要太多,尤其是匯入專案的時候,所以特此整理一些錯誤資訊,方便以後查詢和修改 ps:大多問題是新舊版本不一致, jar包版本衝突或者gradle版本問題,多網上搜索,一般

Android eclipse專案遷移至Android Studio問題記錄

1、Error:Failed to find target with hash string 'android-19' in: D:\Android\sdk 解決方法:修改module下的build.gradle檔案, ①將dependencies中引用的support-v

Android Studio 預設使用 Gradle 構建專案Eclipse 預設使用 Ant 構建專案

Android Studio 預設使用 Gradle 構建專案, Eclipse 預設使用 Ant 構建專案。   AndroidStudio gradle配置:https://www.cnblogs.com/wxisha

使用Android Studio 3.0以及新版Gradle轉移舊版專案可能遇到的幾個坑

好久沒有更新部落格了,年底忙的要死,先記錄一下轉移專案需要注意的幾點。 1.一般轉移專案sdk路徑一般不一樣,這時候AS會提示更改,點選“OK”即可,這個比較簡單。 2.提示專案的Gradle沒有配置,是否要下載最新的Gradle,一般使用我們安裝新版AS時已經有了,

使用android studioeclipse專案改造成gradle專案中踩過的坑

       本文中部分內容是看過了張大神的部落格後分享出來的。        其實android studio使用起來和之前習慣用eclipse開發區別並不大,只是一些快捷鍵發生了變化,這個是需要你