我在代码中得到以下错误:
. io .IOException:运行exec()时出错。命令:["/adb", -s, 9774d56d682e549c, push, "C:Documents, and, SettingsMy, Documentsothermusicb.wma, ", sdcardmusic]工作目录:null环境:null
public class TransferData extends Activity {
private String device_id ;
private String from = "C:\Documents and Settings\My Documents\other\music\b.wma ";
private String to ="\sdcard\music";
private static final String ADB_PUSH = """ /*+ Utility.getWorkDir()*/ + File.separator + "adb" -s %s push "%s" %s";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.splash);
device_id = Secure.getString(getBaseContext().getContentResolver(),Secure.ANDROID_ID);
push(device_id,from,to);
}
/** Pushes a file to a connected device via ADB
* @param deviceId Device serial number
* @param from Path of source file (on PC)
* @param to Path of file destination (on device) */
public static void push(String deviceId, String from, String to) {
try {
String cmd = String.format(ADB_PUSH, deviceId, from, to);
System.out.println("adb push: " + cmd);
Process p = Runtime.getRuntime().exec(cmd);
InputStream is = p.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String line;
while ((line = br.readLine()) != null) {
System.out.println("adb: " + line);
}
} catch (IOException e) {
System.out.println(e);
}
}
}
您无法从android访问您的计算机磁盘驱动器。
把b.wma
放在assets
文件夹里。
则使用以下代码使用b.wma
try {
InputStream is = context.getAssets().open(url);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}