2013-12-09 3 views
2

Я пытаюсь подключиться через SSH к моему серверу с помощью АОH.SSH-подключение с использованием АОH, UnknownHostException на Android

JSch jsch = new JSch(); 
    jsch.setConfig("StrictHostKeyChecking", "no"); 
    session = jsch.getSession(this.username, this.host, 22); 
    session.setPassword(this.password); 
    Properties config = new java.util.Properties(); 
    config.put("StrictHostKeyChecking", "no"); 
    session.setConfig(config); 
    this.session.connect(); 

Ошибка поступает на session.connect на последней строке

12-10 00:21:35.696: W/System.err(30732): com.jcraft.jsch.JSchException: java.net.UnknownHostException: Unable to resolve host "android.widget.EditText{4257c438 VFED..CL .F....ID 219,0-849,117 #7f080008 app:id/host}": No address associated with hostname 

Я могу успешно достигнуть моего сервера с Google ConnectBot, но не тот путь ...

Вот мой манифест :

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.example.myapp" 
android:versionCode="1" 
android:versionName="1.0" > 
<uses-sdk 
    android:minSdkVersion="19" 
    android:targetSdkVersion="19" /> 

<application 
    android:debuggable="true" 
    android:allowBackup="true" 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 
    <activity 
     android:name="com.exemple.myapp.MainActivity" 
     android:label="@string/app_name" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
</application> 
<uses-permission android:name="android.permission.INTERNET"/> 
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" 
    /> 
</manifest> 

Заранее благодарим за вашу помощь!

ответ

2

Если this.host - это текст редактирования, тогда вы должны вызвать this.host.getText(). ToString() в jsch.getSession(). И то же самое для имени пользователя и пароля, если они также редактируют текстовые объекты.

+0

Да, это сработало, я сделал что-то глупое: host.tostring(), и я забыл getText(). Все в порядке, спасибо большое! –

Смежные вопросы