2011-11-26 5 views
17

誰かがHTMLUnit(またはHtmlUnitDriver)をAndroidアプリで使えるようになった人はいますか? Htmlunit on Android application

この

は問題です:両方の下で(私は、以下のリンクに記載されているjarファイルへの追加の参照を追加してみました:

11-26 16:27:26.617: E/AndroidRuntime(1265): java.lang.NoClassDefFoundError: org/w3c/dom/css/CSSRule 

これは私がやったことです:私は次のエラーメッセージを取得していますプロジェクトの依存関係およびプロジェクトの推移依存関係 - テスト瓶を除く、コンパイルのみ):どのように

http://htmlunit.sourceforge.net/dependencies.html

だから私は、これらのjarファイルへの参照を削除

xalan, xercesImpl and xml-apis 

HtmlUnit on Android

HttpClient 

Android Programming HtmlUnit

:今までにEclipseがクラッシュ保たれ、その後、私はいくつかのjarファイルがすでにAndroidのSDKに含まれていると言っていくつかの質問を見つけました以下のもののみを保持する:

commons-codec-1.4.jar 
commons-collections-3.2.1.jar 
commons-io-2.0.1.jar 
commons-lang-2.6.jar 
commons-logging-1.1.1.jar 
cssparser-0.9.5.jar 
htmlunit-2.9.jar 
htmlunit-core-js-2.9.jar 
httpmime-4.1.2.jar 
nekohtml-1.9.15.jar 
sac-1.3.jar 
httpcore-4.1.3.jar 

アプリを実行することができたとき、それは、この時点ではあったが、次のコード行が実行されたとき、私はエラーを取得するために開始しました:

final WebClient webClient = new WebClient(); 

11-26 16:27:26.617: E/AndroidRuntime(1265): java.lang.NoClassDefFoundError: org/w3c/dom/css/CSSRule 

私はウェブ検索を行なったし、そのXML-APIを-1.3を見つけました

.04.jarので、私は戻ってプロジェクトへの参照を置くが、アプリは上記の最初のリンクで説明した同じエラーメッセージを言って、まったくビルドしないでしょうORG/W3C/DOM/CSS/CSSRule含まれてい
[2011-11-26 16:39:52 - Myproj] Conversion to Dalvik format failed with error 1 

誰かがこれにいくつかの光を当てることができますか?

+1

自分のサイトによると: は「これは、特にテスト目的のためにブラウザをシミュレートするための方法ですJUnitやTestNGなどの別のテストフレームワークで使用することを意図しています。 AndroidにWebkitブラウザとJUnitのテストがある場合、なぜ仮想ブラウザをシミュレートする必要があるのだろうか? https://developer.android.com/tools/testing/testing_android.html – NoBugs

答えて

0

コメントに記載されているとおり、Htmlunitはこれを行います。==> HtmlUnitは、「Javaプログラム用のGUIレスブラウザ」です。 HTMLドキュメントをモデル化し、 "通常の"ブラウザと同様に、ページの呼び出し、フォームの記入、リンクのクリックなどを可能にするAPIを提供します。

WebViewのWebページを表示するビューであるGoogleのAndroidのドキュメント ごとにあなたがあなたの活動

内のWebページを開くには、他の余分なjarファイルを必要といけないのAndroid SDKの内部に設けられたのWebViewウィジェットとまったく同じですWebKitレンダリングエンジンを使用してWebページを表示し、履歴を前後にナビゲートしたり、ズームイン/ズームアウトしたり、テキスト検索などを行うためのメソッドを備えています。

これをあなたのアクティビティレイアウトxmlファイルに追加してください。

<WebView xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/webview" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
    /> 

これをあなたのアクティビティクラスファイルに追加します。ここでは、この上の

WebView myWebView = (WebView) findViewById(R.id.webview); 
myWebView.loadUrl("http://www.your url .com"); 

より:http://developer.android.com/guide/webapps/webview.html

+1

ウェブサイトを見るのではなく、解析に使用したいと思うかもしれません。 – user1810737

+0

webviewは、保存できるウェブサイトのソースコードを取得する機能を提供します解析されます。多くのチュートリアルではこれをGoogleだけでやっています! – user1910290

+0

私はこれも必要です。私はいくつかのjavascriptコードが実行された後、HTMLページを解析するためにAndroidサービスでそれを必要とします。では、htmlunitをAndroidで動作させる方法を教えてください。 – Totalys

2

XML-APIを-1.3.04.jarは、コアクラスが含まれています。 jarを変更してそれらのクラスを削除する必要があります。

少なくとも現在のADTのバージョンでは、あなたが問題を説明するメッセージを取得している、ということに注意してください。

Ill-advised or mistaken usage of a core class (java.* or javax.*) 
when not building a core library.