android studio 匯入 Launcher2 模組,並編譯執行
AS 版本:2.3.3
aosp 版本: 4.4 (已經編譯過)
launcher 目錄: .../packages/apps/ 下的 Launcher2 資料夾
詳細步驟:
1. 在 AS 中 新建一個專案:LauncherTest
2.在 專案中 新增一個 Module : launcher22
3. 將 原始碼 Launcher2 資料夾 中的 AndroidManifest.xml 複製並替換掉 launcher22 中的 AndroidManifest.xml.
4.將 原始碼 res 目錄 複製 並 替換掉 launcher22 中的 res 目錄.
5.複製 原始碼 src 目錄下的 所有檔案 放到 launcher22 中的 java 目錄下.
操作完上述步驟後 AS 結構如下:
6.修改 API 版本為 19:
7.點選 build -> Clean Project 或者 會出現一些錯誤資訊,解決掉錯誤資訊就可以運行了:
1).錯誤1:
Error:Execution failed for task ':launcher33:mergeDebugResources'.
> D:...src\main\res\values\strings.xml: Error: Unsupported type 'add-resource'
解決辦法:
將strings檔案中 :
<add-resource type="string" name="default_folder_name" />
替換為
<string name="default_folder_name" />
dimens檔案中 :
<add-resource type="dimen" name="custom_cling_margin_top" />
<add-resource type="dimen" name="custom_cling_margin_right" />
<add-resource type="dimen" name="custom_cling_margin_left" />
替換為
<dimen name="custom_cling_margin_top">0dp</dimen>
<dimen name="custom_cling_margin_right">0dp</dimen>
<dimen name="custom_cling_margin_left">0dp</dimen>
2).錯誤2:
D:...\src\main\AndroidManifest.xml:25:5-47 Error:
Invalid value for attribute permission#[email protected]el at AndroidManifest.xml:25:5-47, value=(system|signature), acceptable values are (normal,dangerous,signature,signatureOrSystem)
解決辦法:
將 檔案中:
android:protectionLevel="system|signature"
修改為 :
android:protectionLevel="signature"
3).錯誤3:
D:...\build\intermediates\res\merged\debug\values\values.xml
Error:(156) Attribute "title" already defined with incompatible format.
Error:(6) Original attribute defined here.
Error:(156) Attribute "title" already defined with incompatible format.
Error:(6) Original attribute defined here.
解決辦法:
開啟 launcher22 中的 build.gradle 檔案,
刪除 compile 'com.android.support:appcompat-v7:26.+'
4).錯誤4:
D:...\LauncherTest\launcher22\src\main\java\com\android\launcher2\Launcher.java
Error:(96, 26) 錯誤: 程式包com.android.common不存在
Error:(1625, 37) 錯誤: 找不到符號
符號: 變數 Search
位置: 類 Launcher
解決辦法:
進入 編譯過的原始碼目錄:/out/target/common/obj/JAVA_LIBRARIES/android-common_intermediates/
將 classes.jar 檔案 複製到 AS 的 libs 資料夾下(如果沒有就建立一個)
並將其名稱修改為 android_common.jar .
5).錯誤5:
AAPT err(Facade for 1848697531): libpng error: Not a PNG file
解決辦法:
在 模組的 build.gradle 中 新增 :
android {
...
aaptOptions {
cruncherEnabled = false
}
...
}
6).錯誤6:
解決辦法:
將 xmlns:launcher="http://schemas.android.com/apk/res/com.android.launcher"
替換為 :
xmlns:launcher="http://schemas.android.com/apk/res-auto"
8.不出意外的話,現在重新 點選 build -> Clean Project 或者 就可以編譯成功了.
9.現在點選執行可能會顯示如下錯誤:
解決辦法:
找到 模組的 AndroidManifest.xml 檔案,
<activity
android:name="com.android.launcher2.Launcher"
android:clearTaskOnLaunch="true"
android:launchMode="singleTask"
android:screenOrientation="nosensor"
android:stateNotNeeded="true"
android:theme="@style/Theme"
android:windowSoftInputMode="adjustPan">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" /> // 加上這句
<category android:name="android.intent.category.HOME" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.MONKEY" />
</intent-filter>
</activity>
10.安裝APK時可能會出現如下錯誤:
解決辦法:
找到 模組的 AndroidManifest.xml 檔案,
修改其對應的報錯的許可權的名稱即可,
圖上是 com.android.launcher.permission.WRITE_SETTINGS 報錯,
修改為:
<permission
android:name="com.android.launcher.permission.WRITE_SETTINGS_22"
android:description="@string/permdesc_write_settings"
android:label="@string/permlab_write_settings"
android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
android:protectionLevel="normal" />
相關推薦
android studio 匯入 Launcher2 模組,並編譯執行
AS 版本:2.3.3 aosp 版本: 4.4 (已經編譯過) launcher 目錄: .../packages/apps/ 下的 Launcher2 資料夾 詳細步驟: 1. 在 AS 中 新建一個專案:LauncherTest 2.在 專案中 新增一個
使用idea匯入非maven專案並編譯執行
1 匯入專案 (1) new -> project from exiting sources (2)選擇要匯入的專案 (3)非maven專案選擇以eclipse方式匯入,一直點下一步就行 2 編譯 (1)右
完美解決 Android Studio 匯入工程, 成功編譯, 但是程式碼提示錯誤
在 github 上下載了開源的程式碼, 使用 Android Studio 匯入工程後, 執行編譯成功, 但是開啟程式碼檔案時, 發現裡面全是紅色提示, 都是些什麼類找不到, 無法匯入包。。。搞得我一頭霧水, github 上求助, Google 上搜索,
Android Studio匯入和刪除模組
Android Studio匯入和刪除模組 一、匯入Module模組 File --> New --> Import Module --> 彈出選擇本地模組對話方塊 --> 輸入本地模組路徑 錯誤提示: 1. Project already con
Android studio 匯入eclipse專案 執行時報錯
Error:Android Packager: [sport5] java.io.IOException: Cannot pack file E:\444\libs\production\sport5\sport5.unaligned.apk into itself 這幾天
如何配置android studio環境實現ionic的編譯,執行與打包
1.配置android studio 環境; 1.1配置java環境 下載jdk,jre(jre好像是跟jdk一起的,jdk1.8.0_101,jre1.8.0_101) 參考文件:如何配置jdk,jre的參考文件 配置的環境變數:PATH(jre/b
Android Studio匯入專案執行出現大量警告,且報錯GC,解決辦法
問題描述:同事給了一個專案讓我執行,我開啟工程後,本地使用的gradle 3.3版本和com.android.tools.builld:gradle:2.3.2版本都要高於專案本身指定的gradle 2.14.1和2.2.3,使用本地自己的版本沒有去下載專案原來指定的版本,b
Android studio匯入專案卡住、匯入後目錄不正確且不能執行的解決辦法
AndroidStudio匯入專案一直卡在Building gradle project info,實際上是因為你匯入的這個專案使用的gradle與你已經擁有的gradle版本不一致,導致需要下載該專案需要的gradle版本,不知是被牆了還是什麼原因,反正就是會一直卡住,直至下載完成(如果能下載完成的話,
Android Studio匯入工程後不能編譯成功
Android Studio匯入老工程,會遇到編譯失敗的問題。 比如這次我就遇到了這樣的提示:Could not HEAD xxxx Received status code 500 from serv
Android Studio 匯入 Eclipse 的程式碼後,執行時中文顯示亂碼
本論壇將全面搬家到:http://www.cnblogs.com/91program,請大家以後來這裡看看。apply plugin: 'android' dependencies { compile fileTree(dir: 'libs', include: '
Android Studio 導入OpenCV 並調試運行face-detection例子
pac oot tools property boolean adl cond dto rgb p { margin-bottom: 0.1in; direction: ltr; color: rgb(0, 0, 10); line-height: 120%; text-a
android studio生成aar包並在其他工程引用aar包
file jar 源碼 tool details bsp pbo key com 1.aar包是android studio下打包android工程中src、res、lib後生成的aar文件,aar包導入其他android studio 工程後,其他工程可以方便引用源碼和資
關於Android Studio中點9圖的編譯錯誤問題
mbo 但是 留言 清晰 文件中 pan 不能 use 計算 Android中的點9圖想必大家都非常熟悉了,能夠指定背景圖片的縮放區域和文本內容的顯示區域,常見如QQ聊天界面的背景氣泡這種文本內容不固定並需要適配的應用場景。 這裏也給大家準備了一張圖,詳細介紹了一下“A
如何在ubuntu中寫一個簡單的C語言程式碼並編譯執行
首先需要安裝一個編譯器 因為筆者也是剛剛開始學習ubuntu所以不知道各個編譯器之間的區別,筆者所用的是gcc就簡單介紹一下gcc的安裝方法吧。 方法一: 開啟控制檯輸入以下程式碼: sudo apt-get build-dep gcc; sudo apt-get bui
Android Studio 使用Lint檢查並去除無用資原始檔
在專案中會經常有一些無用的程式碼和資源,要一個個去查詢刪除太麻煩了,今天我們就來看在Android Studio 使用Lint檢查並去除無用資原始檔。 一起來看看吧 方法一 1,選擇你的專案 2,點選AS上的Analyze選單按鈕,選擇Run Inspection by
Ubuntu下編輯並編譯執行c++程式
一、使用vim編輯c++程式碼: vim hello.cpp 輸入如下程式碼: #include <iostream> using namespace std; int main() { cout<<"Hello world!"<<endl;
Android Studio 匯入vitamio注意事項
1.官方下載的例項裡包含了vitamio和vitamioSample,一個是開發工具包,一個是官方示例。 2.Android Studio通過import mudle來匯入vitamio開發包。 3.如果報了SDKVersion找不到的錯誤,那麼我們自己去配置vitamio目錄下面的grad
Android studio匯入3.0專案時候報錯
android studio 匯入專案時報錯 This Gradle plugin requires a newer IDE able to request IDE model level 3 報錯。 解決方法: (1): 升級android studio IDE的版本。 (2):在
Android studio匯入Netty(修改maven倉庫Url)
最近在接手一個Android開發專案,要求手機作為熱點,接入ARM裝置,作為Server通過TCP/IP協議與下位機Socket通訊,簡單通過Service實現了封裝Socket函式並保持後臺連線,但在收發資料時需要對接相應的協議,這一部分協議是由下位機決定的,裡面包含了一些結構體Struct和聯合
Android Studio 匯入OSChina客戶端
從github上down下來OSChina的Android原始碼,感覺是一個很好的學習的參考,匯入eclipse很方便,記得把osc-android-app-appcompat-v7這個也作為oscandroida