2

Android 2.3.3 で開発したプロジェクトに取り組んでいました。

Android 4.0.3 で開発を続けたいのですが、うまくいきません。

usesminsdkマニフェストファイルから削除すると機能します。

それを行う他の方法はありますか?私のやり方は健康ですか?

06-19 09:19:33.122: E/AndroidRuntime(595): FATAL EXCEPTION: main
06-19 09:19:33.122: E/AndroidRuntime(595): android.os.NetworkOnMainThreadException
06-19 09:19:33.122: E/AndroidRuntime(595):  at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1099)

06-19 09:19:33.122: E/AndroidRuntime(595):  at java.net.InetAddress.lookupHostByName(InetAddress.java:391)
06-19 09:19:33.122: E/AndroidRuntime(595):  at java.net.InetAddress.getAllByNameImpl(InetAddress.java:242)
06-19 09:19:33.122: E/AndroidRuntime(595):  at java.net.InetAddress.getAllByName(InetAddress.java:220)
06-19 09:19:33.122: E/AndroidRuntime(595):  at libcore.net.http.HttpConnection.<init>(HttpConnection.java:71)
06-19 09:19:33.122: E/AndroidRuntime(595):  at libcore.net.http.HttpConnection.<init>(HttpConnection.java:50)
06-19 09:19:33.122: E/AndroidRuntime(595):  at libcore.net.http.HttpConnection$Address.connect(HttpConnection.java:351)
06-19 09:19:33.122: E/AndroidRuntime(595):  at libcore.net.http.HttpConnectionPool.get(HttpConnectionPool.java:86)
06-19 09:19:33.122: E/AndroidRuntime(595):  at libcore.net.http.HttpConnection.connect(HttpConnection.java:128)
06-19 09:19:33.122: E/AndroidRuntime(595):  at libcore.net.http.HttpEngine.openSocketConnection(HttpEngine.java:308)
06-19 09:19:33.122: E/AndroidRuntime(595):  at libcore.net.http.HttpsURLConnectionImpl$HttpsEngine.makeSslConnection(HttpsURLConnectionImpl.java:460)
06-19 09:19:33.122: E/AndroidRuntime(595):  at libcore.net.http.HttpsURLConnectionImpl$HttpsEngine.connect(HttpsURLConnectionImpl.java:432)
06-19 09:19:33.122: E/AndroidRuntime(595):  at libcore.net.http.HttpEngine.sendSocketRequest(HttpEngine.java:282)
06-19 09:19:33.122: E/AndroidRuntime(595):  at libcore.net.http.HttpEngine.sendRequest(HttpEngine.java:232)
06-19 09:19:33.122: E/AndroidRuntime(595):  at libcore.net.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:273)
06-19 09:19:33.122: E/AndroidRuntime(595):  at libcore.net.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:168)
06-19 09:19:33.122: E/AndroidRuntime(595):  at libcore.net.http.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:270)
06-19 09:19:33.122: E/AndroidRuntime(595):  at com.facebook.android.Util.openUrl(Util.java:215)
06-19 09:19:33.122: E/AndroidRuntime(595):  at com.facebook.android.Facebook.request(Facebook.java:751)
06-19 09:19:33.122: E/AndroidRuntime(595):  at com.facebook.android.Facebook.request(Facebook.java:688)
06-19 09:19:33.122: E/AndroidRuntime(595):  at tr.edu.ege.yanyanayiz.LoginController.getProfileInformation(LoginController.java:116)
06-19 09:19:33.122: E/AndroidRuntime(595):  at tr.edu.ege.yanyanayiz.LoginController.startNewIntent(LoginController.java:50)
06-19 09:19:33.122: E/AndroidRuntime(595):  at tr.edu.ege.yanyanayiz.LoginController$2.onComplete(LoginController.java:95)
06-19 09:19:33.122: E/AndroidRuntime(595):  at com.facebook.android.Facebook$1.onComplete(Facebook.java:354)
06-19 09:19:33.122: E/AndroidRuntime(595):  at com.facebook.android.FbDialog$FbWebViewClient.shouldOverrideUrlLoading(FbDialog.java:144)
06-19 09:19:33.122: E/AndroidRuntime(595):  at android.webkit.CallbackProxy.uiOverrideUrlLoading(CallbackProxy.java:224)
06-19 09:19:33.122: E/AndroidRuntime(595):  at android.webkit.CallbackProxy.handleMessage(CallbackProxy.java:324)
06-19 09:19:33.122: E/AndroidRuntime(595):  at android.os.Handler.dispatchMessage(Handler.java:99)
06-19 09:19:33.122: E/AndroidRuntime(595):  at android.os.Looper.loop(Looper.java:137)
06-19 09:19:33.122: E/AndroidRuntime(595):  at android.app.ActivityThread.main(ActivityThread.java:4424)
06-19 09:19:33.122: E/AndroidRuntime(595):  at java.lang.reflect.Method.invokeNative(Native Method)
06-19 09:19:33.122: E/AndroidRuntime(595):  at java.lang.reflect.Method.invoke(Method.java:511)
06-19 09:19:33.122: E/AndroidRuntime(595):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
06-19 09:19:33.122: E/AndroidRuntime(595):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
06-19 09:19:33.122: E/AndroidRuntime(595):  at dalvik.system.NativeStart.main(Native Method)
4

4 に答える 4

4

Ice Cream Sandwich でアプリがクラッシュするのはなぜですか?

今朝、まったく同じトピックでブログ記事を書きました。UI スレッドの悪用に関しては、HoneyComb と ICS の方がはるかに厳格です。UI スレッドで高価な操作を実行していないことを確認しThread、代わりに または でそれらをラップしているかどうかを確認しますAsyncTask

于 2012-06-18T15:31:19.140 に答える
3

私もこの問題に遭遇します。1. NetworkOnMainThreadException を回避するために、ネットワーク コードを別のスレッドに配置します。 2. AndroidManifest.xml を A) から B) に変更します。

A)

<uses-sdk
android:minSdkVersion="7"
android:targetSdkVersion="10" />

B)

<uses-sdk
android:minSdkVersion="7"
 />

そして今それは動作します!

于 2012-07-27T03:41:56.293 に答える
1

マニフェストタグが次のようになっていることを確認してください:

<uses-sdk
    android:minSdkVersion="10"
    android:targetSdkVersion="15" />

それから

  1. プロジェクトを右クリック
  2. プロパティ
  3. アンドロイド
  4. Android 4.0.3 を確認する
  5. ヒットOK。

うまくいくはずですが、その後、プロジェクトをクリーンアップするか、プロジェクトを右クリックして、[Android ツール] > [プロジェクトのプロパティを修正] を実行する必要がある場合があります。

于 2012-06-18T15:25:21.213 に答える
0

こんにちはこれは、メインUIスレッドでネットワークにアクセスしている(Webサービスもチェックしている)ためです。コードでAsyncTaskを使用すると、マニフェストファイルでエラーが発生しても問題は発生しません。マニフェストで何も変更する必要はありません。

于 2012-09-26T12:45:27.873 に答える