mac 編譯android系統,mac 編譯 Android 系統雜記

掛載android分區

sudo hdiutil attach ~/android_code/android7.dmg.sparseimage -mountpoint /Volumes/android

原放入U盤:

echo '188jinghao' | sudo -S hdiutil attach ~/android7.dmg.sparseimage -mountpoint /Volumes/android

放入機械硬盤

sudo hdiutil attach /Volumes/chenjinghao/android7.dmg.sparseimage -mountpoint /Volumes/android7

sudo hdiutil attach /Volumes/chenjinghao/code/android.dmg.sparseimage -mountpoint /Volumes/android

tar -cvf android-6.0.1.tar /Volumes/android/android6_0_1/

啟動模擬器

export ANDROID_PRODUCT_OUT=/Volumes/android/android6.0.1/out/target/product/generic

export ANDROID_PRODUCT_OUT_BIN=/Volumes/android/android6.0.1/out/host/linux-x86/bin

export PATH=$PATH:$ANDROID_PRODUCT_OUT_BIN:$ANDROID_PRODUCT_OUT

$cd ~/android/out/host/linux-x86/bin

$ emulator -system system.img -data userdata.img -ramdisk ramdisk.img

export ANDROID_BUILD_TOP=/Volumes/android/android6_0_1

export ANDROID_PRODUCT_OUT=/Volumes/android/android6.0.1/out/target/product/generic

export ANDROID_PRODUCT_OUT_BIN=/Volumes/android/android6.0.1/out/host/darwin-x86/bin

export PATH=$PATH:$ANDROID_PRODUCT_OUT_BIN:$ANDROID_PRODUCT_OUT:$ANDROID_BUILD_TOP

/Volumes/android/android6.0.1/out/host/linux-x86/bin/emulator

-system /Volumes/android/android6.0.1/out/target/product/generic/system.img

-data /Volumes/android/android6.0.1/out/target/product/generic/userdata.img

-ramdisk /Volumes/android/android6.0.1/out/target/product/generic/ramdisk.img

啟動模擬器

export ANDROID_BUILD_TOP=/Volumes/android/android7.1.1

export ANDROID_PRODUCT_OUT=/Volumes/android/android7.1.1/out/target/product/shamu

export ANDROID_PRODUCT_OUT_BIN=/Volumes/android/android7.1.1/out/host/darwin-x86/bin

export PATH=$PATH:$ANDROID_PRODUCT_OUT_BIN:$ANDROID_PRODUCT_OUT:$ANDROID_BUILD_TOP

emulator

-system /Volumes/android/android7.1.1/out/target/product/shamu/system.img

-data /Volumes/android/android7.1.1/out/target/product/shamu/userdata.img

-ramdisk /Volumes/android/android7.1.1/out/target/product/shamu/ramdisk.img

下載源碼遇到的問題一:

這個error信息忘了詳細記錄了,就是某個./repo/projects/.............下面報錯了,把報錯的文件夾刪掉,repo sync

error:

………………………………………………………………………...

Traceback (most recent call last):

File "/Volumes/aosp/android-6.0.1/.repo/repo/main.py", line 531, in

_Main(sys.argv[1:])

…………………………….

UnicodeDecodeError: 'ascii' codec can't decode byte 0xd4 in position 578: ordinal not in range(128)

解決辦法:根據error的提示,刪除./repo/projects/...相應下的git就行了,然后再repo sync

編譯源碼遇到的問題二:

build/core/combo/mac_version.mk:39: * Can not find SDK 10.12 at /Developer/SDKs/MacOSX10.6.sdk

build/core/combo/mac_version.mk:40: *****************************************************

build/core/combo/mac_version.mk:41: *** Stop.. Stop.

配置mac_sdk_versions_supported里添加10.12

編譯源碼遇到的問題三:

system/core/libcutils/threads.c:38:10: error: 'syscall' is deprecated: first deprecated in OS X 10.12 - syscall(2) is unsupported; please switch to a supported interface. For SYS_kdebug_trace use kdebug_signpost(). [-Werror,-Wdeprecated-declarations]

return syscall(SYS_thread_selfid);

^

host C: libcutils <= system/core/libcutils/iosched_policy.c

/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/include/unistd.h:733:6: note: 'syscall' has been explicitly marked deprecated here

int syscall(int, ...);

MacOSX-SDKs下載地址:https://github.com/phracker/MacOSX-SDKs

刪除10.12,下載MacOSX10.11.sdk,解壓拷貝到/Applications/XCode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs

然后確保AOSP源碼下build/core/combo/mac_version.mk文件中

mac_sdk_versions_supported := 10.9 10.10 10.11

后面不要寫10.12。

編譯源碼遇到的問題四:

找不到com.sun.javadoc.ClassDoc

external/doclava/src/com/google/doclava/ClassInfo.java:20:

error: package com.sun.javadoc does not exist import com.sun.javadoc.ClassDoc;external/doclava/src/com/google/doclava/apicheck/XmlApiFile.java:80:

error: cannot find symbol ClassDoc classDoc = null; ^

symbol: class ClassDoc location: class XmlApiFile Note: Some input files use unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details. 163 errors

make: *** [out/host/common/obj/JAVA_LIBRARIES/doclava_intermediates/javalib.jar] Error 41

在bash_profile里添加

export ANDROID_JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home

nothing matches overlay file notification_bg_normal_pressed.9.png, for flavor hdpi-v19

nothing matches overlay file notification_bg_normal_pressed.9.png, for flavor xhdpi-v19

nothing matches overlay file notification_bg_normal_pressed.9.png, for flavor xxhdpi-v4

nothing matches overlay file notification_bg_normal_pressed.9.png, for flavor xxhdpi-v19

[ 99% 27238/27420] Compiling SDK Stubs...tubs_current_intermediates/classes.jar

注: 某些輸入文件使用或覆蓋了已過時的 API。

注: 有關詳細信息, 請使用 -Xlint:deprecation 重新編譯。

注: 某些輸入文件使用了未經檢查或不安全的操作。

注: 有關詳細信息, 請使用 -Xlint:unchecked 重新編譯。

[ 99% 27413/27420] host Java: ahat-tes...RIES/ahat-tests_intermediates/classes)

注: art/tools/ahat/test/SortTest.java使用了未經檢查或不安全的操作。

注: 有關詳細信息, 請使用 -Xlint:unchecked 重新編譯。

[100% 27420/27420] Checking build with...sts_intermediates/jack.check.timestamp

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/456995.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/456995.shtml
英文地址,請注明出處:http://en.pswp.cn/news/456995.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Java開發必須熟悉的Linux命令總結

身為一個Java開發人員&#xff0c;這些常用的Linux命令必須掌握。即使平時開發過程中沒有使用Linux&#xff08;Unix&#xff09;或者mac系統&#xff0c;也需要熟練掌握Linux命令。因為很多服務器上都是Linux系統。所以&#xff0c;要和服務器機器交互&#xff0c;就要通過she…

構析函數

析構函數&#xff1a;__del__() 釋放對象時自動調用 class Person(object):def run(self):print("run")def eat(self,food):print("eat"food)def __init__(self,name,age,height,weight):self.name nameself.height heightself.age ageself.weight …

Java 序列化Serializable詳解(附詳細例子)

Java 序列化Serializable詳解&#xff08;附詳細例子&#xff09; 1、什么是序列化和反序列化Serialization&#xff08;序列化&#xff09;是一種將對象以一連串的字節描述的過程&#xff1b;反序列化deserialization是一種將這些字節重建成一個對象的過程。 2、什么情況下需要…

kettle-實現每個分組的前N的數據

2019獨角獸企業重金招聘Python工程師標準>>> 第一步&#xff1a;創建表及數據&#xff1a; create table uid(uid int, --uidcate varchar(20), --類別price double --金額 ) insert into uid values(123,c1,21); insert into uid values(123,c2,23); insert into u…

重寫__repr__與__str__函數

重寫&#xff1a;將函數重新定義寫一遍__str__():再調用print 打印對象時自動調用&#xff0c;是給用戶用的是一個描述對象的方法__repr__():是給機器用的&#xff0c;在python解釋器里面直接敲對象名再回車調用的方法注意&#xff1a;在沒有str時&#xff0c;且有repr,str re…

linux nexus 使用問題

2019獨角獸企業重金招聘Python工程師標準>>> 問題一&#xff0c;啟動提示設置RUN_AS_USERroot 但是&#xff0c;設置export或 /etc/profile未生效。 **************************************** WARNING - NOT RECOMMENDED TO RUN AS ROOT *************************…

項目回顧-PopupWindow

右上菜單&#xff0c;可以通過 重寫 onCreateOptionsMenu指定 menu&#xff0c; 重寫 onOptionsItemSelected 來響應點擊事件 不過 這個菜單在某些手機上彈出的有點卡頓&#xff0c;而且如果不對主題進行設置&#xff0c;會從actionbar 上直接彈出&#xff0c;而不是下面 如果想…

android listpreference 自定義,Android ListPreference的用法一

xmlns:android"http://schemas.android.com/apk/res/android"android:key"screen_list"android:title"標題"android:summary"說明摘要">< ListPreferenceandroid:key"myListPreference"android:title"標題"…

C語言求最大公約數和最小公倍數的幾種算法

求最小公倍數算法&#xff1a; 最小公倍數兩整數的乘積最大公約數 求最大公約數算法&#xff1a; (1)輾轉相除法 有兩整數a和b&#xff1a; ① a%b得余數c ② 若c0&#xff0c;則b即為兩數的最大公約數 ③ 若c≠0&#xff0c;則ab&#xff0c;bc&#xff0c;再回去執行①…

3月15日云棲精選夜讀:雙管齊下,MaxCompute數據上云與生態

雙管齊下&#xff0c;MaxCompute數據上云與生態 作者&#xff1a;場景研讀 Go語言并發機制初探 作者&#xff1a;邴越 趣拍云短視頻SDK全面升級&#xff0c;簡單易用引開發者點贊 作者&#xff1a;sherry是雪梨 發表在&#xff1a;趣拍云團隊 阿里云機器學習平臺編程模型演…

qt android glsl,基于Qt的OpenGL學習(1)—— Hello Triangle

簡介要學習OpenGL的話&#xff0c;強烈安利這個教程JoeyDeVries的learnopengl&#xff0c;這里是中文翻譯好的版本。教程中使用OpenGL是通過GLFW這個庫&#xff0c;而在Qt中對OpenGL封裝得很好&#xff0c;并且和GUI以及IO相關的處理Qt更便捷&#xff0c;學習起來更輕松。這里就…

解決:Not Found: /favicon.ico

直接說解決辦法&#xff1a; &#xff08;1&#xff09;制作一個 favicon.ico圖標放在<head></head>標簽中 <link rel"shortcut icon" href"xxxxxxxxxx.ico" type"image/x-icon" /> <!--制作的圖標&#xff0c;使用hr…

多態方法調用的解析和分派

方法調用并不等同于方法執行&#xff0c;方法調用階段唯一的任務就是確定被調用方法的版本&#xff08;即調用哪一個方法&#xff09;&#xff0c;暫時還不涉及方法內部的具體運行過程。在程序運行時&#xff0c;進行方法調用是最普遍、最頻繁的操作&#xff0c;Class文件的編譯…

ES6:Set和Map

Set Set:類似數組&#xff0c;但是成員的值都是唯一的&#xff0c;沒有重復。Set本身是一個構造函數&#xff0c;用來生成Set數據結構。他包含的方法&#xff1a;add: 添加某個值&#xff0c;返回Set結構本身。delete: 刪除某個值&#xff0c;返回一個布爾值&#xff0c;表示是…

九九乘法表[循環嵌套]

#九九乘法表 # 1*11 # 1*22 2*24 # 1*33 2*36 3*39 # ...#循環嵌套 #行數 i 1 while i < 9:# 打印每行的內容j 1while j < i:print("%d * %d %3d " % (i, j, i * j), end)j 1print() # 換行i 1while嵌套&#xff1a;w 1 while w < 10: #外層循…

關于用VS寫C程序運行時出現燙字以及亂碼的問題的原因

最近在復習C語言寫程序時&#xff0c;突然碰到標題上的這種情況&#xff0c;后來經過上網查找以及逐步調試才發現原來是在打印數組的時候“越界”導致的&#xff0c;因為程序在默認初始化char類型的數組時&#xff0c;初始化的值是“燙”字&#xff0c;一般情況下是字符串未初始…

javascript函數調用的各種方法!!

在JavaScript中一共有下面4種調用方式&#xff1a; (1) 基本函數調用 (2)方法調用 (3)構造器調用 (4)通過call()和apply()進行調用 1. 基本函數調用 普通函數調用模式&#xff0c;如&#xff1a; JavaScript code?1234function fn(o){…… }fn({x:1});在基本函數調用中&#x…

ARM TK1 安裝kinect驅動

首先安裝usb庫 $ git clone https://github.com/libusb/libusb.git 編譯libusb需要的工具 $ sudo apt-get install autoconf autogen $ sudo apt-get install libtool $ sudo apt-get install libudev* 編譯安裝 $ sudo ./autogen.sh $ sudo make $ sudo make install $ sudo l…

如何在一個html頁面中提交兩個post,如何在同一個頁面上從Django和Ajax獲得多個post請求?...

我一整天都在為這事犯愁。似乎什么都沒用。這是我的情況。在我有一個Django表單&#xff0c;有兩個字段&#xff1a;redirect_from&#xff0c;redirect_to。此表單有兩個提交按鈕&#xff1a;Validate和{}。當頁面加載時&#xff0c;Submit被隱藏&#xff0c;只顯示Validate。…

大數據入門:各種大數據技術的介紹

大數據我們都知道hadoop&#xff0c;可是還會各種各樣的技術進入我們的視野&#xff1a;Spark&#xff0c;Storm&#xff0c;impala&#xff0c;讓我們都反映不過來。為了能夠更好的架構大數據項目&#xff0c;這里整理一下&#xff0c;供技術人員&#xff0c;項目經理&#xf…