中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

將Eclipse工程轉Android Studio工程的步驟與注意事項

發布時間:2020-09-12 15:19:17 來源:腳本之家 閱讀:155 作者:laocaixw 欄目:移動開發

Gradle的基礎

想要將Eclipse轉為Android Studio項目,那么Gradle語法是必修課。此處引進一篇文章,基礎就不寫了,Gradle基礎

引言

目前,用 Android Studio 來開發 Android 項目已是大勢所趨,就連 Google 也已經宣布了不再支持 Eclipse 。所以一些老的 Eclipse 工程轉 Android Studio 工程也是有必要的。工程轉換有兩種:一種是兼容模式,即 Eclipse 和 Android Studio 都可以用的工程結構;一種是 Android Studio 的目錄結構。這里先記錄下兼容模式的轉換方法。

一.從 Eclipse 中導出 Gradle 文件

首先保證 Eclipse 包含 Gradle 插件,選擇菜單 File->Export->Generate Gradle build files,

將Eclipse工程轉Android Studio工程的步驟與注意事項

然后一路無腦 next ,勾選需要轉換的工程(如果有依賴工程,把依賴工程也勾選上),在 finish 之前最好勾選上 Force overriding of existing files ,以保證覆蓋掉工程中由于之前有過類似操作而存在的文件。

將Eclipse工程轉Android Studio工程的步驟與注意事項

二.修改 gradle 文件參數

現在,工程中多出了幾個 gradle 相關的文件。修改兩個地方為最新版本:

1.build.gradle。

找到

classpath 'com.android.tools.build:gradle:0.8.+'

改為

classpath 'com.android.tools.build:gradle:2.2.3'(目前最高版本)

2.gradle/wrapper/gradle-wrapper.properties。

找到

distributionUrl=http\://services.gradle.org/distributions/gradle-1.10-all.zip

改為

distributionUrl=http\://services.gradle.org/distributions/gradle-2.14.1-all.zip(目前最高版本)

三.導入 Android Studio

在 Android Studio 的 Welcome 界面選擇 import project(Eclipse ADT,Gradle,etc)

將Eclipse工程轉Android Studio工程的步驟與注意事項

選擇工程,等待編譯完成。這時候,不會馬上編譯成功,需要耐心,根據編譯錯誤信息修改錯誤。常見的錯誤有: jni 庫位置、構建工具版本低、圖片檢查報錯、Manifest 沖突、jar 包沖突等。

四.常見編譯錯誤解決方法

1.jni 庫位置。在 build.gradle 中添加:

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

2.構建工具版本低。提高構建工具版本,一般 Android Studio 都會有提示。

3.圖片檢查報錯。把 .9 圖片放到 dawable 文件夾而不是 mipmap 文件夾;在 build.gradle 中添加:

aaptOptions {
 cruncherEnabled false
 useNewCruncher false
}

4.Manifest 沖突。刪除重復的 uses-permission 權限;忽略 Manifest 資源值沖突:

在 manifest 根標簽上加入:

xmlns:tools=http://schemas.android.com/tools

然后,在 application 標簽下添加:

tools:replace="android:icon, android:theme"(多個屬性用,隔開)

或者直接在 gradle 中添加:

useOldManifestMerger true

5.jar 包沖突。刪除 library 工程中與主工程沖突的 jar 包。

五.庫工程(Library)打 aar 包

如果工程中有依賴工程(即 Library 工程,Android Studio 中稱 Module 工程),那么最好將它打成 aar 包,以提高日常調試時的編譯速度。因為 Android Studio 每次編譯的時候,都會把項目下的所有工程都編譯一遍,這樣會浪費一些不必要的時間。所以,如果不是特殊情況,最好將 Module 工程打成 aar 包來使用。那這個 aar 怎么生成呢?

首先,當我們做完前面的操作,程序都正常跑起來了之后。

在 Module 工程的 \build\outputs\aar\ 下可以找到編譯生成的 aar 包,把 aar 包拷到主工程的 \libs\ 下。

去掉根目錄下 settings.gradle 文件中原來工程的 include :

// include ':XXXXX'

將主工程中 build.gradle 文件的工程依賴關系,改為 aar 包依賴:

// compile project(':XXXXX')
compile(name: 'XXXXX', ext: 'aar')

點擊右上角 Sync Now,等待 gradle 完成,這樣就 OK 了,是不是很簡單!

Android Studio新手導入Eclipse項目注意事項

1. 在引入moudle的build.gradle中的apply plugin: 'com.android.library',標識當前的moudle是一個libary,而不是apply plugin: 'com.android.application'

2. 用Eclipse到處的Gradle,libary中的清單文件中如果有application節點,請刪除,否則會報錯,因為編譯的時候gradle會找到兩個application節點。

<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
</application>

3. 由于Android Stduio對于圖片格式要求比較嚴格,從Eclipse轉過來的情況下,一般都會報圖片格式錯誤AAPT err(Facade for 1059284777): libpng error: Not a PNG file,那么請按下面說明修改:

在APP的build.gradle下的android項中添加:

//放寬PNG圖片檢查條件
aaptOptions.cruncherEnabled = false;
aaptOptions.useNewCruncher = false;

將Eclipse工程轉Android Studio工程的步驟與注意事項

4. 主工程和libary中如果有相同的jar,Eclipse中是不會報錯的,而Android Studio中則會報類重復錯誤,那么我們將主工程中和libary中重復的jar刪除即可。

將Eclipse工程轉Android Studio工程的步驟與注意事項

5. 從Eclipse轉過來的Android Studio項目不會默認添加so的路徑,能夠編譯成功,也能安裝成功,但就是啟動報錯,可以看出so報錯,然后VM就掛掉了,說明沒有找到so的路徑所在。在主工程的build.gradle中配置以下代碼即可,表示so庫的路徑在libs下,也可指定為其他路徑。

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

將Eclipse工程轉Android Studio工程的步驟與注意事項

6. 引入本地jar推薦使用這種方式,不需要每添加一個jar都add一次。

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

7. 編譯ok后,運行報錯:Could not find XXXX in APK; aborting.請按如下設置重新運行。

File - Settings - Build,Execution,Deployment - Instant Run,去掉Enable Instant Run...邊上的鉤

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

昌吉市| 平顶山市| 合水县| 涡阳县| 光泽县| 大石桥市| 含山县| 峨边| 博罗县| 安义县| 商洛市| 老河口市| 任丘市| 汤阴县| 和林格尔县| 濮阳市| 清水县| 赤峰市| 肥城市| 浠水县| 保山市| 丹凤县| 阿克| 五家渠市| 玉门市| 景泰县| 望都县| 扎鲁特旗| 手游| 正镶白旗| 忻州市| 赤峰市| 改则县| 宜章县| 章丘市| 滦南县| 德江县| 余干县| 恭城| 天等县| 卢龙县|