導航:首頁 > 操作系統 > licheeandroid

licheeandroid

發布時間:2023-06-06 18:19:45

android源碼編譯是干什麼

編譯Android系統。

❷ android編譯求助

1、安裝 JDK
2、安裝編譯所需包
$sudo apt-get update
$sudo apt-get upgrade
$sudo apt-get install build-essential u-boot-tools uboot-mkimage binutils-arm-linux-gnueabihf
$sudo apt-get install gcc g++ gcc-arm-linux-gnueabi gcc-arm-linux-gnueabihf g++-multilib
$sudo apt-get install cpp-arm-linux-gnueabihf libusb-1.0-0 libusb-1.0-0-dev wget fakeroot
$sudo apt-get install kernel-package zlib1g-dev libncurses5-dev build-essential
$sudo apt-get install texinfo texlive ccache zlib1g-dev gawk bison flex gettext uuid-dev
$sudo apt-get install ia32-libs git gnupg flex bison gperf build-essential zip
$sudo apt-get install curl libc6-dev x11proto-core-dev libx11-dev:i386 lib32ncurses5-dev
$sudo apt-get install libreadline6-dev:i386 mingw32 tofrodos python-markdown
$sudo apt-get install libxml2-utils xsltproc zlib1g-dev:i386 libgl1-mesa-dev

3、下載 Android 源碼包並解壓,兩個文件:
a20-android4.2_lichee.tar.gz
a20-android4.2_android.tar.gz

4、編譯:
lichee編譯通過,在編譯android時:
source build/envsetup.sh
lunch
選擇的是 sugar_cubietruck-eng
extract-bsp
make -j8

❸ android系統下怎麼廣播鍵盤的輸入消息

1.在lichee/linux-3.0/include/linux/input.h文件可以查看底層驅動的按鍵編碼
#define KEY_F1 59
#define KEY_F2 60
#define KEY_F3 61
#define KEY_F4 62
#define KEY_F5 63
#define KEY_F6 64
#define KEY_F7 65
#define KEY_F8 66
#define KEY_F9 67
#define KEY_F10 68
2.在android4.0/frameworks/base/core/java/android/view/KeyEvent.java文件可以查看上層驅動的按鍵編碼
/** Key code constant: F1 key. */
public static final int KEYCODE_F1 = 131;
/** Key code constant: F2 key. */
public static final int KEYCODE_F2 = 132;
/** Key code constant: F3 key. */
public static final int KEYCODE_F3 = 133;
/** Key code constant: F4 key. */
public static final int KEYCODE_F4 = 134;
/** Key code constant: F5 key. */
public static final int KEYCODE_F5 = 135;
/** Key code constant: F6 key. */
public static final int KEYCODE_F6 = 136;
/** Key code constant: F7 key. */
public static final int KEYCODE_F7 = 137;
/** Key code constant: F8 key. */
public static final int KEYCODE_F8 = 138;
/** Key code constant: F9 key. */
public static final int KEYCODE_F9 = 139;
/** Key code constant: F10 key. */
public static final int KEYCODE_F10 = 140;
3.在/android4.0/frameworks/base/data/keyboards/Generic.kl文件裡面有底層到上層的映射,將這個文件定製到自己的系統android4.0/out/target/proct/crane-m1003h6/system/usr/keylayout目錄下就可以了在上層收到USB鍵盤F1-F10的消息了。
key 59 F1
key 60 F2
key 61 F3
key 62 F4
key 63 F5
key 64 F6
key 65 F7
key 66 F8
key 67 F9
key 68 F10
4.在/android4.0/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindow.java文件的onKeyDown,onKeyUp函數截獲F1-F10的消息,用自己定義的廣播消息廣播出去應用就可以在後台或者前台都可以接收到按鍵按下或者釋放的廣播消息了。
case KeyEvent.KEYCODE_F1: {
//Log.e("zkliu","---------------------------test F1---------------------------");
getContext().sendBroadcast(new Intent("com.android.action.F1_KEYDOWN"));
return true;
}

case KeyEvent.KEYCODE_F2: {
//Log.e("zkliu","---------------------------test F2---------------------------");
getContext().sendBroadcast(new Intent("com.android.action.F2_KEYDOWN"));
return true;
}

case KeyEvent.KEYCODE_F3: {
//Log.e("zkliu","---------------------------test F3---------------------------");
getContext().sendBroadcast(new Intent("com.android.action.F3_KEYDOWN"));
return true;
}

case KeyEvent.KEYCODE_F4: {
//Log.e("zkliu","---------------------------test F4---------------------------");
getContext().sendBroadcast(new Intent("com.android.action.F4_KEYDOWN"));
return true;
}

case KeyEvent.KEYCODE_F5: {
//Log.e("zkliu","---------------------------test F5---------------------------");
getContext().sendBroadcast(new Intent("com.android.action.F5_KEYDOWN"));
return true;
}

case KeyEvent.KEYCODE_F6: {
//Log.e("zkliu","---------------------------test F6---------------------------");
getContext().sendBroadcast(new Intent("com.android.action.F6_KEYDOWN"));
return true;
}

case KeyEvent.KEYCODE_F7: {
//Log.e("zkliu","---------------------------test F7---------------------------");
getContext().sendBroadcast(new Intent("com.android.action.F7_KEYDOWN"));
return true;
}

case KeyEvent.KEYCODE_F8: {
//Log.e("zkliu","---------------------------test F8---------------------------");
getContext().sendBroadcast(new Intent("com.android.action.F8_KEYDOWN"));
return true;
}

case KeyEvent.KEYCODE_F9: {
//Log.e("zkliu","---------------------------test F9---------------------------");
getContext().sendBroadcast(new Intent("com.android.action.F9_KEYDOWN"));
return true;
}

case KeyEvent.KEYCODE_F10: {
//Log.e("zkliu","---------------------------test F10---------------------------");
getContext().sendBroadcast(new Intent("com.android.action.F10_KEYDOWN"));
return true;
}

case KeyEvent.KEYCODE_F1: {
//Log.e("zkliu","---------------------------test F1---------------------------");
getContext().sendBroadcast(new Intent("com.android.action.F1_KEYUP"));
return true;
}

case KeyEvent.KEYCODE_F2: {
//Log.e("zkliu","---------------------------test F2---------------------------");
getContext().sendBroadcast(new Intent("com.android.action.F2_KEYUP"));
return true;
}

case KeyEvent.KEYCODE_F3: {
//Log.e("zkliu","---------------------------test F3---------------------------");
getContext().sendBroadcast(new Intent("com.android.action.F3_KEYUP"));
return true;
}

case KeyEvent.KEYCODE_F4: {
//Log.e("zkliu","---------------------------test F4---------------------------");
getContext().sendBroadcast(new Intent("com.android.action.F4_KEYUP"));
return true;
}

case KeyEvent.KEYCODE_F5: {
//Log.e("zkliu","---------------------------test F5---------------------------");
getContext().sendBroadcast(new Intent("com.android.action.F5_KEYUP"));
return true;
}

case KeyEvent.KEYCODE_F6: {
//Log.e("zkliu","---------------------------test F6---------------------------");
getContext().sendBroadcast(new Intent("com.android.action.F6_KEYUP"));
return true;
}

case KeyEvent.KEYCODE_F7: {
//Log.e("zkliu","---------------------------test F7---------------------------");
getContext().sendBroadcast(new Intent("com.android.action.F7_KEYUP"));
return true;
}

case KeyEvent.KEYCODE_F8: {
//Log.e("zkliu","---------------------------test F8---------------------------");
getContext().sendBroadcast(new Intent("com.android.action.F8_KEYUP"));
return true;
}

case KeyEvent.KEYCODE_F9: {
//Log.e("zkliu","---------------------------test F9---------------------------");
getContext().sendBroadcast(new Intent("com.android.action.F9_KEYUP"));
return true;
}

case KeyEvent.KEYCODE_F10: {
//Log.e("zkliu","---------------------------test F10---------------------------");
getContext().sendBroadcast(new Intent("com.android.action.F10_KEYUP"));
return true;
}
應用程序注冊接收相應的廣播消息即可接收到鍵盤輸入消息。

❹ android 3.0 之後 aptbuilider.bat 移除 之後的 用命令打包

1.使用aapt生成R.java類文件:
例:
C:\Snake>aapt p -f -m -J gen -S res -I android.jar -M AndroidManifest.xml
其中
-f -m -J F:\explorer\AndroidByread\gen 代表按覆蓋的形式在gen目錄下生成帶包路徑的R.java,
-S res指定資源文件 ,
-I android.jar 指定使用的android類包,
-M AndroidManifest.xml指定程序的配置文件

2.使用android SDK提供的aidl.exe把.aidl轉成.java文件(如無aidl介面文件可省略):

3.第三步 編譯.java類文件生成class文件:

C:\Snake>javac -classpath android.jar -d bin src\com\example\android\snake\*.java gen\com\example\android\snake\R.java

-classpath android.jar 指定使用的android類包,
-d bin指定生成的類文件的位置 ,後面的兩個都是源文件.

4.使用android SDK提供的dx.bat命令行腳本生成classes.dex文件:
C:\Snake>dx --dex --output=c:\snake\bin\classes.dex c:\snake\bin

第一個參數是生成的目標文件,第二個是class文件所在的目錄(必須使用絕對路徑)

5.生成應用程序apk文件:
C:\Snake>aapt p -f -F snake.apk -v -u -z -M AndroidManifest.xml -S res -A assets -I android.jar
用法同步驟1.

6.把前面生成的classes.dex文件壓縮到apk文件,最終生成可運行的apk應用程序
C:\Snake>aapt add snake.apk bin\classes.dex

7.Android Apk 簽名
Apk簽名首先要有一個keystore的簽名用的文件 。
keystore是由jdk自帶的工具keytool生成的。
具體生成方式參考:
開始->運行 ->cmd->cd到你安裝的jdk的目錄里,我的是C:\Program Files\Java \jdk1.6.0_10\bin
然後輸入:
keytool -genkey -alias asaiAndroid.keystore -keyalg RSA -validity 20000 -keystore asaiAndroid.keystore
-alias 後面跟的是別名這里是 asaiAndroid.store
-keyalg 是加密方式這里是RSA
-validity 是有效期 這里是20000
-keystore 就是要生成的keystore的名稱 這里是asiAndroid.keystore
然後按回車鍵
按回車後首先會提示你輸入的密碼:這個在簽名時要用的,要記住
然後會再確認你的密碼。
之後會依次叫你輸入姓名、組織單位、組織名稱、城市區域、省份名稱、國家代碼 (CN)等。

開始簽名。
在 C:\Program Files\Java\jdk1.6.0_10\bin 還提供一個工具 jarsigner.exe
運行命令給APK簽名:
jarsigner -verbose -keystore asaiAndroid.keystore -signedjar Lotteryonline_signed.apk LotteryOnline.apk asaiAndroid.keystore
-keystore: keystore的名稱
LotteryOnline_signed.apk: 簽名後的APK
LotteryOnline.apk: 簽名前的APK
然後按回車:會要求輸入剛才設置 的密碼,輸入後按回車就開始簽名了。

閱讀全文

與licheeandroid相關的資料

熱點內容
軍嫂肉文 瀏覽:935
javamariadb 瀏覽:876
未刪減的網站在線觀看 瀏覽:899
雞雞加長叫什麼電影 瀏覽:387
愛情電影網址 瀏覽:726
激情戲愛情電影 瀏覽:51
哪裡可以免費在線看輕小說 瀏覽:61
李采譚演的韓國論理 瀏覽:962
男男攻是軍人 瀏覽:617
今天實時票房 瀏覽:634
葉倩桐天地之間有聲mp3 瀏覽:143
風月片成人 瀏覽:523
女孩學樂高編程機器人 瀏覽:236
求網站 瀏覽:159
穿越平行世界多妻制 瀏覽:109
鐵雨3免費完整版視頻 瀏覽:499
墜入》中,主角小女孩為什麼摔傷了頭 瀏覽:207
交換的一天女模特 瀏覽:336
牛客網編程題答案 瀏覽:60
童玲主演的古裝電影 瀏覽:303