❶ android的shell有啥用
android 底層驅動實際linux, linux中大量使用了shell。那 shell到底是什麼東西呢?個人理解相當於windows中的
cmd,但是shell很強大,如果你能熟練使用shell,在android開發中如虎添翼。
下面就android常用的shell進行一下說明:
1. cd (change directory)
如: cd / 跳轉到根目錄 cd ~ 跳轉到用戶所在的目錄
2. ls (list)
顯示目錄結構
3. chmod 777 path
在開發過程中,如果發現文件不能讀寫,首先應該想到是否給user許可權,可以通過該命令試試看
改變目錄屬性,如果目錄下面還有子目錄,加上-R
4. chown 該變目錄所有者
如果目錄還有子目錄,加上-R
5. rm 目錄
如果是文件加上-f
如果是目錄加上-r
6. find
找文件,如果找到R.java文件,然後刪除它
find . -name R.java|args rm -rf
find . -name *.svn|xargs rm -rf
find . -name *.class|xargs rm -rf
7. 替換,如某個文件中根據某個模式替換某行
如下命令就是找到FPTitlebar.java這個java文件,找不到// pm.shutDown();,用pm.shutDown();替換之。
find . -name FPTitlebar.java -exec sed -i 's\// pm.shutDown();\ pm.shutDown();\' {} \;
比較難的如下所示:
find . -name *.java -exec sed -i 's\KeyEvent.KEYCODE_2\KeyEvent.KEYCODE_CAMERA \g ' {} \;
find . -name *.java -exec sed -i 's\KeyEvent.KEYCODE_1\KeyEvent.KEYCODE_CALL \g ' {} \;
找到所有的java文件,用KeyEvent.KEYCODE_CAMERA替換KeyEvent.KEYCODE_2
8. 編譯android源碼時實際也是執行shell命令:
//執行build 目錄下envsetup.sh命令
. build/envsetup.sh
//彈出選擇框,分別選擇第一個,第一個,第五個,第三個
choosecombo 1 1 5 3
//設置環境變數
export ANDROID_JAVA_HOME=$JAVA_HOME
//執行update命令
make update-api
//起4 個線程同時編譯
make -j 4
9. 如果你使用了第三so包,需要在android編譯,直接在mk文件中添加如下設置即可:
如下所示:
1. 聲明library名稱
###############################
LOCAL_STATIC_JAVA_LIBRARIES := xstream
###############################
2. 加入引入的庫文件
###############################
include $(CLEAR_VARS)
LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := xstream:xstream-1.3.1.jar
include $(BUILD_MULTI_PREBUILT)
###############################
❷ 在linux 上做的事,在安卓手機的命令行上也能做嗎
不能,雖然兩者都是基於同一內核開發的產品,但是兩者經過了後期開發,兩者為了達到一些應用都做了優化、改動,所以在linux 上能做的事情,在安卓那裡就不能做,不是說一定不能,這個是可以通過一些小的應用來實現一些的(個人見解)
❸ linux/android下java語句如何賦予shell腳本可執行許可權
chmod能改變許可權,-R是目錄下所有文件,777就是高許可權(讀、寫、執行),chmod-R777*意思就是將當前目錄下所有文件都給予777許可權這個在伺服器里不能隨便敲的,不能在根目錄下進行此命令,因為有些進程是指定許可權(如755、700)才能運行的所以會出錯
❹ 如何進入Android adb shell 命令行模式
如果你配置了adb的環境變數
那麼你連接手機以後,直接執行 adb shell 則進入命令模式了
如果你沒有配置環境變數,那麼,你需要進入sdkplatform-tools目錄下
再執行 adb shell
❺ android apk 怎麼執行adb shell命令
android中執行shell命令有兩種方式: 1.直接在代碼中用java提供的Runtime 這個類來執行命令,以下為完整示例代碼。 public void execCommand(String command) throws IOException { // start the ls command running //String[] args = new String[]{"sh", "-c", command}; Runtime runtime = Runtime.getRuntime(); Process proc = runtime.exec(command); //這句話就是shell與高級語言間的調用 //如果有參數的話可以用另外一個被重載的exec方法 //實際上這樣執行時啟動了一個子進程,它沒有父進程的控制台 //也就看不到輸出,所以需要用輸出流來得到shell執行後的輸出 InputStream inputstream = proc.getInputStream(); InputStreamReader inputstreamreader = new InputStreamReader(inputstream); BufferedReader bufferedreader = new BufferedReader(inputstreamreader); // read the ls output String line = ""; StringBuilder sb = new StringBuilder(line); while ((line = bufferedreader.readLine()) != null) { //System.out.println(line); sb.append(line); sb.append('\n'); } //tv.setText(sb.toString()); //使用exec執行不會等執行成功以後才返回,它會立即返回 //所以在某些情況下是很要命的(比如復制文件的時候) //使用wairFor()可以等待命令執行完成以後才返回 try { if (proc.waitFor() != 0) { System.err.println("exit value = " + proc.exitValue()); } } catch (InterruptedException e) { System.err.println(e); } } } 2.直接安裝shell模擬器,即已經開發好的android應用,啟動後類似windows的dos命令行,可以直接安裝使用,可執行常用的linux命令,應用在附件。 shell.apk大小:455.51K所需財富值:5 已經過網路安全檢測,放心下載 點擊下載下載量:1
❻ 請問, 小米手機的操作系統是Android的優化版MIUI, 該系統可以像linux那樣使用shell終端執行命令嗎
可以,安卓都行,下個終端模擬器就行了,如果沒有busybox,建議裝一個,這樣就可以執行好多命令。