javacplinux
① android 開發環境下如何使用java代碼執行linux 的cp、chmod、vi等一系列命令
在安卓開發環境中,若需執行Linux下的cp、chmod、vi等命令,可以通過安裝命令行應用來實現。這類應用在安卓市場中有眾多選擇,只需搜索並安裝即可。需要注意的是,這些應用通常需要root許可權才能執行命令,因此請確保你的設備已解鎖root許可權。
安裝命令行應用後,你可以在安卓設備上直接使用這些Linux命令,從而提高開發效率。例如,使用cp命令可以方便地進行文件復制,使用chmod命令可以修改文件許可權,使用vi命令可以編輯文本文件。這些操作對於日常開發和調試非常有用。
為了確保命令行應用的安全性和穩定性,建議選擇官方或知名第三方應用商店中的應用。同時,安裝前請仔細閱讀應用的許可權請求,確保僅授予必要的許可權。在使用過程中,若遇到許可權不足等問題,請檢查設備的root狀態。
需要注意的是,雖然使用命令行應用可以簡化Linux命令的執行,但其使用門檻相對較高,對於非專業人士可能需要一定時間學習。因此,在使用過程中請保持耐心,並根據需求逐步掌握相關命令的使用方法。
通過這種方式,開發者可以在安卓設備上輕松執行Linux命令,實現文件操作、許可權管理等任務,提高開發效率和體驗。然而,由於安卓環境與Linux存在差異,某些命令可能無法直接運行,因此在使用過程中請根據實際情況調整命令。
② 用java -cp命令在linux下執行jar文件里的主類(含main函數),報錯,求解。
一樓正解,-cp用來class path,就是需要用到的別的jar的位置
③ linuxcp命令報nomath
1、下載資源和代碼;
2、編譯;
3、將需要打包的文件復制到臨時目錄打包。
後來由於新需求,修改了一下功能,在復制到臨時目錄之前還有回去一些資源到臨時目錄:
2.5、下載三方資源到臨時目錄。
增加此功能後錯誤就出現了,復制的臨時目錄的結構全亂了,比如:
java/bin應復制到temp/bin,結果去錯誤的復制到了temp/bin/bin。
看到此問題我以為是2.5步驟中下載的資源包目錄有問題,將功能運行到2.5步停止查看目錄無問題,保留第3步把2.5刪除也無問題,唯獨這些一起運行就有問題,而且windows系統下沒問題,Linux卻有問題。
後來一位前輩想到了問題的原因,linux系統下面調用了cp命令來復制文件和文件夾,問題就出在這里。
調用的命令 cp -arf srcdir destdir
-a是要復制鏈接文件,有些生僻,-r遞歸-f強制較常見。
從srcdir到destdir有講究。舉例子來說:
cp -arf java/bin temp/bin 有兩種情況的復制:
a.復制前 若temp/bin不存在,則將java/bin直接復制到temp,即temp/bin就是java/bin;
b.復制前 若temp/bin存在,則將java/bin復制到temp/bin/中,即temp/bin/bin才是java/bin。
之前沒有2.5步temp下的bin不存在所以不會有問題,加入2.5步使得bin目錄存在了所以導致復制出錯。
解決方式是這樣復制
cp -arf java/bin temp/
這樣不論怎樣都會正確,注意temp後一定要加/。
另外,windows下使用的是x命令,不會有這樣的問題。