Linux之whereis命令
1104
2025-03-31
將項目遷移至 Android Studio 需要適應新的項目結構、構建系統和 IDE 功能。 如果您要從 Eclipse 遷移至 Android 項目,Android Studio 會提供導入工具,以便您可以將現有代碼快速移至 Android Studio 項目和基于 Gradle 的構建文件。如需了解詳細信息,請參閱從 Eclipse 遷移。
如果您要從 IntelliJ 進行遷移,而且您的項目已經使用 Gradle,則只需從 Android Studio 打開現有項目。 如果您正在使用 IntelliJ,但項目尚未使用 Gradle,則需要先執行一些手動準備工作才能將項目導入 Android Studio。如需了解詳細信息,請參閱從 IntelliJ 遷移。
Android Studio 基礎知識
在準備遷移至 Android Studio 時您需要了解以下關鍵區別。
項目和模塊組織
Android Studio 基于 Intellij IDEA IDE。 如需了解 IDE 基礎知識,例如導航、代碼自動完成和鍵盤快捷鍵,請參閱探索 Android Studio。
Android Studio 不使用工作區,因此各個項目在單獨的 Android Studio 窗口中打開。 Android Studio 將代碼組織到項目中,其中包含從應用源代碼到構建配置和測試代碼等定義 Android 應用的所有信息。每個項目包含一個或多個模塊,您可以將項目分成獨立的功能單元。 模塊可獨立構建、測試和調試。
如需了解有關 Android Studio 項目和模塊的詳細信息,請參閱項目概覽。
基于 Gradle 的構建系統
Android Studio 的構建系統基于 Gradle,并使用以 Groovy 語法編寫的構建配置文件,以便于擴展和自定義。
基于 Gradle 的項目提供適用于 Android 開發的重要功能,包括:
。支持二進制文件庫 (AAR)。 無需再將庫源代碼復制到您自己的項目中,您只需聲明依賴關系,即可自動下載庫并將其合并到您的項目中。這包括在構建時自動合并到資源、清單條目、ProGuard 排除規則和自定義 Lint 規則等。
。支持構建變體。 例如,構建變體允許您從同一項目中構建應用的不同版本(如免費版和專業版)。
。構建配置 和自定義很簡單。 例如,您可以從 Git 標記中提取版本名稱和版本代碼作為構建的一部分。
。可以從 IDE、命令行 和 Jenkins 等持續集成服務器中使用 Gradle,隨時隨地提供相同的構建。
如需了解有關使用和配置 Gradle 的詳細信息,請參閱配置構建。
依賴關系
在 Android Studio 中,庫依賴關系使用依賴關系聲明,對于具有 Maven 坐標的已知本地源代碼和二進制庫,則使用 Maven 依賴關系。如需了解詳細信息,請參閱配置構建變體。
測試代碼
通過使用 Eclipse ADT,可在不同的項目中編寫儀器測試,并通過清單文件中的
從 Eclipse 遷移
Android Studio 為使用 Eclipse 創建的現有 Android 項目提供自動導入工具。
遷移先決條件
在將您的應用從 Eclipse 遷移到 Android Studio 前,請查看以下步驟,確保您的項目已做好轉換的準備,同時確認 Android Studio 中有您需要的工具配置:
在 Eclipse ADT 中:
。確保 Eclipse ADT 根目錄包含 AndroidManifest.xml 文件。 此外,根目錄必須包含 Eclipse 的 .project 和 .classpath 文件或 res/ 和 src/ 目錄。
。構建您的項目,以確保導入時保存并包含了最新的工作區和項目更新。
。在需要導入的 project.properties 或.classpath 文件中注釋掉對 Eclipse ADT 工作區庫文件的任何引用。 您可以在導入后在 build.gradle 文件中添加這些引用。 如需了解詳細信息,請參閱配置構建。
。記錄工作區目錄、路徑變量和任何實際路徑映射可能會有所幫助,這些內容可用于指定任何未解析的相對路徑、路徑變量和鏈接的資源引用。Android Studio 允許您在導入過程中手動指定任何未解析的路徑。
在 Android Studio 中:
。如果您尚未安裝,點擊此處下載 Android Studio。 如果您已經安裝了 Android Studio,請點擊 Help > Check for Updates(在 Mac 上,點擊 Android Studio > Check for Updates),驗證其是否是最新的穩定版本。
。因為 Android Studio 無法遷移任何第三方 Eclipse ADT 插件,請記下您在 Eclipse 中使用的任何第三方插件。 您可以查看 Android Studio 中的相同功能,或在 IntelliJ Android Studio 插件存儲庫中搜索兼容的插件。 使用 File > Settings > Plugins 菜單選項管理 Android Studio 中的插件。
。如果您計劃在防火墻后面運行 Android Studio,則必須為 Android Studio 和 SDK 管理器設置代理。 Android Studio 設置向導同步、第三方庫訪問、訪問遠程存儲庫、Gradle 初始化和同步以及 Android Studio 版本更新需要互聯網連接。 如需了解詳細信息,請參閱代理設置。
將 Eclipse 項目導入 Android Studio
您應根據現有 Eclipse ADT 項目的結構確定其導入方式:
。如果您在 Eclipse ADT 中有多個關聯項目共享同一個工作區,請將第一個項目作為項目導入,然后添加隨后的關聯項目作為該項目中的模塊。
。如果您的 Eclipse ADT 項目在同一個工作區中 共享依賴關系,但并不關聯,請將每個 Eclipse ADT 項目作為獨立的項目逐個導入 Android Studio。在導入過程中 Android Studio 將在新創建的項目之間維持這些共享的依賴關系。
作為項目導入:
1。啟動 Android Studio,并關閉任何打開的 Android Studio 項目。
2。在 Android Studio 菜單中點擊 File > New > Import Project。
。或在“Welcome”屏幕中點擊 Import project (Eclipse ADT, Gradle, etc.)。
3。選擇包含 AndroidManifest.xml 文件的 Eclipse ADT 項目文件夾,并點擊 Ok。
4。選擇目標文件夾,然后點擊 Next。
5。選擇導入選項,然后點擊 Finish。
6。導入過程中會提示您將任何庫和項目依賴關系遷移到 Android Studio,并將依賴關系聲明添加到 build.gradle 文件。如需了解有關此過程的詳細信息,請參閱創建 Android 庫。
導入過程中還將用 Maven 依賴關系替換具有已知 Maven 坐標的任何已知源代碼庫、二進制庫和 JAR 文件,因此您無需手動保留這些依賴關系。
導入選項還允許您輸入工作區目錄和任何實際路徑映射,以處理任何未解析的相對路徑、路徑變量和鏈接的資源引用。
7。Android Studio 導入應用并顯示項目導入摘要。 查看摘要,了解項目重組和導入過程的詳細信息。
將項目從 Eclipse ADT 導入 Android Studio 后,Android Studio 中的每個應用模塊文件夾都包含該模塊的完整源代碼集,包括 src/main/ 和 src/androidTest/目錄、資源、構建文件以及 Android 清單。在開始應用開發前,您應解決項目導入摘要中顯示的所有問題,確保項目重組和導入過程成功完成。
作為模塊導入:
1。啟動 Android Studio,并打開想要添加模塊的項目。
2。在 Android Studio 菜單中點擊 File > New > Import Module。
3。選擇包含 AndroidManifest.xml 文件的 Eclipse ADT 項目文件夾,并點擊 Ok。
4。如果需要,可修改模塊名稱,并點擊 Next。
5。導入過程中會提示您將任何庫和項目依賴關系遷移到 Android Studio,并將依賴關系聲明添加到 build.gradle 文件。 如需了解有關遷移庫和項目依賴關系的詳細信息,請參閱創建 Android 庫。 導入過程中還將用 Maven 依賴關系替換具有已知 Maven 坐標的任何已知源代碼庫、二進制庫和 JAR 文件,因此您無需手動保留這些依賴關系。 導入選項還允許您輸入工作區目錄和任何實際路徑映射,以處理任何未解析的相對路徑、路徑變量和鏈接的資源引用。
6。點擊 Finish。
驗證導入的項目
完成導入過程后,使用 Android Studio 的 Build 和 Run 菜單選項構建您的項目,并驗證輸出。 若項目未正確構建,請檢查以下設置:
。打開 SDK 管理器(點擊 Android Studio 中的“Android SDK Manager”按鈕或 Tools > Android > SDK Manager),驗證您安裝的工具版本是否匹配 Eclipse 項目的設置。Android Studio 從您導入的 Eclipse 項目繼承 SDK 管理器和 JDK 設置。
。要驗證其他 Android Studio 設置,請點擊 File > Project Structure 并檢查以下設置:
。在 SDK Location 項下,驗證 Android Studio 是否可以訪問正確的 SDK、NDK 和 JDK 位置和版本。
***注:如果您使用了默認設置,則 Eclipse ADT 會在 User\user-name\android-sdks\(對于 Windows)和 Users/user-name/Library/Android/sdk/(對于 Mac)中安裝 Android SDK。
。在 Project 項下,驗證 Gradle 版本、Android 插件版本和相關存儲庫。
。在 Modules 項下,驗證應用和模塊設置,例如簽署配置和庫依賴關系。
。如果您的項目依賴另一個項目,則確保在應用模塊文件夾中的 build.gradle 文件中正確定義該依賴關系。 如需了解有關定義依賴關系的詳細信息,請參閱配置構建變體。
如果在檢查這些設置后,在 Android Studio 中構建和運行項目時仍出現異常問題,請考慮修改 Eclipse ADT 項目并重新開始導入過程。
***注: 將 Eclipse ADT 項目導入 Android Studio 將創建一個新的 Android Studio 項目,不會影響現有 Eclipse ADT 項目。
從 IntelliJ 遷移
如果您的 IntelliJ 項目使用 Gradle 構建系統,則可以將項目直接自動導入到 Android Studio 中。 如果您的 IntelliJ 項目使用 Maven 或其他構建系統,則需要先將其設置為使用 Gradle,然后才能遷移至 Android Studio。
導入基于 Gradle 的 IntelliJ 項目
如果您已經將 Gradle 與 IntelliJ 項目配合使用,則可以按照以下步驟在 Android Studio 中將其打開:
1。點擊 File > New > Import Project。
2。選擇 IntelliJ 項目目錄,然后點擊 OK。 此時,項目將在 Android Studio 中打開。
導入非 Gradle IntelliJ 項目
如果您的 IntelliJ 項目尚未使用 Gradle 構建系統,您可以選擇兩種方式將項目導入到 Android Studio 中:
。新建一個空的 Android Studio 項目,然后將現有源代碼復制到與新項目關聯的目錄中。 如需了解詳細信息,請參閱通過新建空項目進行遷移。
。為項目手動新建一個 Gradle 構建文件,然后將項目和新的構建文件導入到 Android Studio 中。 如需了解詳細信息,請參閱通過創建自定義 Gradle 構建文件進行遷移。
通過新建空項目進行遷移
要通過新建空項目,然后將源文件復制到新目錄,從而將項目遷移至 Android Studio,請繼續執行以下操作:
1。打開 Android Studio,然后點擊 File > New > New Project。
2。為應用項目輸入名稱,指定應該創建項目的位置,然后點擊 Next。
3。選擇將運行應用的機型,然后點擊 Next。
4。點擊 Add No Activity,然后點擊 Finish。
5。在 Project 工具窗口中,點擊箭頭以打開視圖下拉列表,然后選擇 Project 視圖以查看并探索新 Android Studio 項目的結構。如需了解有關更改視圖以及 Android Studio 如何構建項目的詳細信息,請參閱項目文件。
6。導航至為新項目選擇的位置,然后將代碼、單元測試、儀器測試和資源從舊的項目目錄移至新項目結構中的正確位置。
7。在 Android Studio 中,點擊 File > Project Structure 以打開 Project Structure 對話框。 確保已在左側窗格中選定應用的模塊。
8。在項目的 Properties 選項卡中進行必要的修改(例如,修改 minSdkVersion 或 targetSdkVersion)。
9。點擊 Dependencies 并將項目依賴的任何庫添加為 Gradle 依賴項。 要添加新的依賴項,請點擊 Add ,然后選擇要添加的依賴項類型并按提示操作。
10。點擊 OK 保存所做的修改。
11。點擊 Build > Make Project 測試構建項目,并解決任何未解決的錯誤。
通過創建自定義 Gradle 構建文件進行遷移
要通過新建指向現有源文件的 Gradle 構建文件將項目遷移至 Android Studio,請繼續執行以下操作:
1。在開始前,確保將項目文件備份到單獨位置,因為遷移流程將修改已部署的項目的內容。
2。接下來,在項目目錄中創建一個名為 build.gradle 的文件。 build.gradle 文件將包含 Gradle 運行構建所需的所有信息。
默認情況下,Android Studio 期望項目的結構如圖 1 所示。
圖 1. Android 應用模塊的默認項目結構。
由于您的 IntelliJ 項目不使用相同結構,因此 build.gradle 文件需要將構建的源目錄指向您的現有文件夾(例如,res/ 和 src/),而不是默認的新目錄結構。 以下示例 build.gradle 文件包括 Gradle 構建的基本設置以及 android{} 塊內部的 sourceSets{} 塊,用于定義正確的源目錄并移動測試和構建類型以避免命名沖突。將下面的代碼塊復制到您的 build.gradle 文件,然后執行使用現有項目設置所需的任何更改。例如,您可能還有其他要包括的依賴項,請務必使用其他目標 SDK 版本或者需要為您的源目錄指定其他位置。
// This buildscript{} block configures the code driving the build
buildscript {
/**
* The nested repositories{} block declares that this build uses the
* jcenter repository.
*/
repositories {
jcenter()
}
/**
* This block declares a dependency on the 3.3.0 version
* of the Gradle plugin for the buildscript.
*/
dependencies {
classpath 'com.android.tools.build:gradle:3.3.0'
}
}
/**
* This line applies the com.android.application plugin. Note that you should
* only apply the com.android.application plugin. Applying the Java plugin as
* well will result in a build error.
*/
apply plugin: 'com.android.application'
/**
* This dependencies block includes any dependencies for the project itself. The
* following line includes all the JAR files in the libs directory.
*/
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
// Add other library dependencies here (see the next step)
}
/**
* The android{} block configures all of the parameters for the Android build.
* You must provide values for at least the build tools version and the
* compilation target.
*/
android {
compileSdkVersion 28
buildToolsVersion "28.0.3"
/**
* This nested sourceSets block points the source code directories to the
* existing folders in the project, instead of using the default new
* organization.
*/
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/
* For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ...
* This moves them out of them default location under src/
* 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')
}
}
3。如需了解有關設置和自定義 Gradle 構建文件的詳細信息,請參閱配置構建。
接下來,確定您要使用的庫項目。 有了 Gradle,您不再需要添加這些庫作為源代碼項目,相反,您可以在構建文件的 dependencies{} 塊中參考它們。然后,構建系統會為您處理這些庫,包括下載庫、合并到資源和合并清單條目。以下示例將 Google Play Services 的聲明語句和許多支持庫添加到上面的示例構建文件中顯示的 dependencies{} 塊中。
...
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
// Google Play Services
compile 'com.google.android.gms:play-services:9.8.0'
// Support Libraries
compile 'com.android.support:appcompat-v7:28.0.0'
compile 'com.android.support:cardview-v7:28.0.0'
compile 'com.android.support:design:28.0.0'
compile 'com.android.support:gridlayout-v7:28.0.0'
compile 'com.android.support:leanback-v17:28.0.0'
compile 'com.android.support:mediarouter-v7:28.0.0'
compile 'com.android.support:palette-v7:28.0.0'
compile 'com.android.support:recyclerview-v7:28.0.0'
compile 'com.android.support:support-annotations:28.0.0'
compile 'com.android.support:support-v13:28.0.0'
compile 'com.android.support:support-v4:28.0.0'
// Note: these libraries require the "Google Repository" and "Android Repository"
//?????? to be installed via the SDK manager.
}
如需在確定庫的正確聲明語句方面獲得幫助Gradle, please 可以根據 Maven Central 為您提供正確的聲明語句。
4。保存您的 build.gradle 文件,然后關閉 IntelliJ 中的項目。 導航至您的項目目錄,然后刪除 .idea 目錄以及項目內的任何 .iml 文件。
5。啟動 Android Studio,然后點擊 File > New > Import Project。
6。找到項目目錄,點擊上面創建的 build.gradle 文件以將其選定,然后點擊 OK 導入項目。
7。點擊 Build > Make Project,以通過構建項目并解決找到的任何錯誤來測試構建文件。
后續步驟
將項目遷移至 Android Studio 后,閱讀構建和運行您的應用,詳細了解關于使用 Gradle 進行構建以及在 Android Studio 中運行應用的信息。
根據您的項目和工作流程,您可能還想要閱讀更多有關使用版本控制、管理依賴關系、簽署和打包應用或配置和更新 Android Studio 的信息。若要開始使用 Android Studio,請閱讀探索 Android Studio。
配置版本控制
Android Studio 支持多個版本控制系統,包括 Git、GitHub、CVS、Mercurial、Subversion 和 Google Cloud Source Repositories。
在將您的應用導入 Android Studio 后,使用 Android Studio VCS 菜單選項啟用對所需版本控制系統的 VCS 支持、創建存儲庫、導入新文件至版本控制以及執行其他版本控制操作:
1。在 Android Studio VCS 菜單中點擊 Enable Version Control Integration。
2。從下拉菜單中選擇要與項目根目錄關聯的版本控制系統,然后點擊 OK。 此時,VCS 菜單將根據您選擇的系統顯示多個版本控制選項。
***注: 您還可以使用 File > Settings > Version Control 菜單選項設置和修改版本控制設置。
如需了解有關使用版本控制的詳細信息,請參閱 IntelliJ 版本控制參考。
Android 支持存儲庫和 Google Play 服務存儲庫
雖然 Eclipse ADT 使用 Android 支持庫和 Google Play 服務庫,但在導入過程中 Android Studio 會用 Android 支持存儲庫和 Google 存儲庫替換這些庫,以便繼續使用兼容的功能并支持新的 Android 功能。Android Studio 使用已知的 Maven 坐標將這些依賴關系添加為 Maven 依賴關系,因此不需要手動更新這些依賴關系。
在 Eclipse 中,要使用支持庫,您必須針對想要使用的每個支持庫在開發環境中修改項目的類路徑依賴關系。在 Android Studio 中,無需將庫源代碼復制到您自己的項目中,您只需聲明依賴關系,即可自動下載庫并將其合并到您的項目中。這包括在構建時自動合并到資源、清單條目、ProGuard 排除規則和自定義 Lint 規則。如需了解有關依賴關系的詳細信息,請參閱配置構建變體。
應用簽署
如果您的應用在 Eclipse ADT 中使用調試證書,Android Studio 將繼續引用該證書。 或者,調試配置使用 Android Studio 生成的一個調試密鑰庫和一個默認密鑰,二者密碼均已知,調試密鑰庫位于 $HOME/.android/debug.keystore 中。當您從 Android Studio 運行或調試您的項目時,調試構建類型將自動使用此調試配置。
在構建用于發布的應用時,Android Studio 會應用在 Eclipse ADT 中使用的發布證書。 如果在導入過程中未找到發布證書,則將發布簽署配置添加到 build.gradle 文件,或使用 Build > Generate Signed APK 菜單選項打開 Generate Signed APK Wizard。如需了解簽署應用的詳細信息,請參閱簽署您的應用。
調整 Android Studio 的最大堆內存
默認情況下,Android Studio 的最大堆內存為 1280MB。 如果您要處理較大的項目,或您的系統有大量 RAM 可用,您可以通過在 Android Studio 的 VM 選項中增加最大堆內存來提高性能。
如需了解有關配置 Android Studio 設置的詳細信息,請參閱配置 Android Studio 和配置 Android Studio。
針對 Instant Run 優化您的項目
Android Studio 2.0 中引入的 Instant Run 是 Run 和 Debug 命令的行為,可以大幅縮短應用更新的間隔時間。盡管首次構建可能需要花費較長的時間,Instant Run 在向應用推送后續更新時則無需構建新的 APK,因此,這樣可以更快地看到更改。您可以通過更改一些 Android Studio 設置來改進 Instant Run 的構建流程。
有關針對 Instant Run 性能配置項目的詳細信息,請參閱針對 Instant Run 配置和優化您的項目。
軟件更新
Android Studio 與 Gradle 插件、構建工具和 SDK 工具分開更新。 您可以指定想要使用的 Android Studio 版本。
默認情況下,在有新穩定版本發布時 Android Studio 將自動更新,但您可以選擇更頻繁地進行更新,也可以接收預覽版或測試版。
如需了解有關更新 Android Studio 以及使用預覽版和測試版的詳細信息,請參閱保持更新。
Android Android Studio
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。