无法在 Android Studio 中使用 jsoup
Posted
技术标签:
【中文标题】无法在 Android Studio 中使用 jsoup【英文标题】:Cannot use jsoup in Android Studio 【发布时间】:2018-06-27 21:54:49 【问题描述】:我尝试使用 video 安装 jsoup
然后,一堆问题接踵而至:
first thing
happened twice, for other files
fixed by ending java in task manager
fixed by clicking run after clean
修复所有这些后,我尝试运行我的测试应用(这是我的 MainActivity)
package babis.querytest;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import java.io.IOException;
public class MainActivity extends AppCompatActivity
@Override
protected void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.i("qt","before");
try
Log.i("qt","before1");
Document doc= Jsoup.connect("http://www.google.com").get();
Log.i("qt","after0");
catch (IOException e)
Log.i("qt","after");
我的 Logcat 是这个
01-18 20:05:38.758 17236-17236/? I/art: 后期启用 -Xcheck:jni 01-18 20:05:39.040 17236-17236/babis.querytest W/art: 失败的 execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg --debuggable --instruction-set=arm64 --instruction-set-features=smp,a53 --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction- set-variant=generic --instruction-set-features=default --dex-file=/data/app/babis.querytest-1/split_lib_dependencies_apk.apk --oat-file=/data/dalvik-cache/arm64/data @app@babis.querytest-1@split_lib_dependencies_apk.apk@classes.dex) 因为非0退出状态 01-18 20:05:39.323 17236-17236/babis.querytest W/art: 失败的 execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg --debuggable --instruction-set=arm64 --instruction-set-features=smp,a53 --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction- set-variant=generic --instruction-set-features=default --dex-file=/data/app/babis.querytest-1/split_lib_slice_0_apk.apk --oat-file=/data/dalvik-cache/arm64/data @app@babis.querytest-1@split_lib_slice_0_apk.apk@classes.dex) 因为非0退出状态 01-18 20:05:39.398 17236-17236/babis.querytest W/art: 失败的 execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg --debuggable --instruction-set=arm64 --instruction-set-features=smp,a53 --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction- set-variant=generic --instruction-set-features=default --dex-file=/data/app/babis.querytest-1/split_lib_slice_1_apk.apk --oat-file=/data/dalvik-cache/arm64/data @app@babis.querytest-1@split_lib_slice_1_apk.apk@classes.dex) 因为非0退出状态 01-18 20:05:39.460 17236-17236/babis.querytest W/art: 失败的 execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg --debuggable --instruction-set=arm64 --instruction-set-features=smp,a53 --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction- set-variant=generic --instruction-set-features=default --dex-file=/data/app/babis.querytest-1/split_lib_slice_2_apk.apk --oat-file=/data/dalvik-cache/arm64/data @app@babis.querytest-1@split_lib_slice_2_apk.apk@classes.dex) 因为非0退出状态 01-18 20:05:39.530 17236-17236/babis.querytest W/art:执行失败(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg --debuggable --instruction-set=arm64 --instruction-set-features=smp,a53 --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction- set-variant=generic --instruction-set-features=default --dex-file=/data/app/babis.querytest-1/split_lib_slice_3_apk.apk --oat-file=/data/dalvik-cache/arm64/data @app@babis.querytest-1@split_lib_slice_3_apk.apk@classes.dex) 因为非0退出状态 01-18 20:05:39.610 17236-17236/babis.querytest W/art: 失败的 execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg --debuggable --instruction-set=arm64 --instruction-set-features=smp,a53 --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction- set-variant=generic --instruction-set-features=default --dex-file=/data/app/babis.querytest-1/split_lib_slice_4_apk.apk --oat-file=/data/dalvik-cache/arm64/data @app@babis.querytest-1@split_lib_slice_4_apk.apk@classes.dex) 因为非0退出状态 01-18 20:05:39.688 17236-17236/babis.querytest W/art: 失败的 execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg --debuggable --instruction-set=arm64 --instruction-set-features=smp,a53 --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction- set-variant=generic --instruction-set-features=default --dex-file=/data/app/babis.querytest-1/split_lib_slice_5_apk.apk --oat-file=/data/dalvik-cache/arm64/data @app@babis.querytest-1@split_lib_slice_5_apk.apk@classes.dex) 因为非0退出状态 01-18 20:05:39.760 17236-17236/babis.querytest W/art: 失败的 execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg --debuggable --instruction-set=arm64 --instruction-set-features=smp,a53 --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction- set-variant=generic --instruction-set-features=default --dex-file=/data/app/babis.querytest-1/split_lib_slice_6_apk.apk --oat-file=/data/dalvik-cache/arm64/data @app@babis.querytest-1@split_lib_slice_6_apk.apk@classes.dex) 因为非0退出状态 01-18 20:05:39.825 17236-17236/babis.querytest W/art: 失败的 execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg --debuggable --instruction-set=arm64 --instruction-set-features=smp,a53 --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction- set-variant=generic --instruction-set-features=default --dex-file=/data/app/babis.querytest-1/split_lib_slice_7_apk.apk --oat-file=/data/dalvik-cache/arm64/data @app@babis.querytest-1@split_lib_slice_7_apk.apk@classes.dex) 因为非0退出状态 01-18 20:05:39.898 17236-17236/babis.querytest W/art: 失败的 execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg --debuggable --instruction-set=arm64 --instruction-set-features=smp,a53 --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction- set-variant=generic --instruction-set-features=default --dex-file=/data/app/babis.querytest-1/split_lib_slice_8_apk.apk --oat-file=/data/dalvik-cache/arm64/data @app@babis.querytest-1@split_lib_slice_8_apk.apk@classes.dex) 因为非0退出状态 01-18 20:05:39.962 17236-17236/babis.querytest W/art: 失败的 execv(/system/bin/dex2oat --runtime-arg -classpath --runtime-arg --debuggable --instruction-set=arm64 --instruction-set-features=smp,a53 --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art --runtime-arg -Xms64m --runtime-arg -Xmx512m --instruction- set-variant=generic --instruction-set-features=default --dex-file=/data/app/babis.querytest-1/split_lib_slice_9_apk.apk --oat-file=/data/dalvik-cache/arm64/data @app@babis.querytest-1@split_lib_slice_9_apk.apk@classes.dex) 因为非0退出状态 01-18 20:05:39.964 17236-17236/babis.querytest W/系统:类加载器引用未知路径:/data/app/babis.querytest-1/lib/arm64 01-18 20:05:39.975 17236-17236/babis.querytest I/InstantRun: 启动即时运行服务器: 是主进程 01-18 20:05:40.181 17236-17236/babis.querytest W/art: 在 Android 4.1 之前,方法 android.graphics.PorterDuffColorFilter android.support.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter, android.content .res.ColorStateList, android.graphics.PorterDuff$Mode) 会错误地覆盖 android.graphics.drawable.Drawable 中的包私有方法 01-18 20:05:40.516 17236-17236/babis.querytest I/qt: 之前 01-18 20:05:40.516 17236-17236/babis.querytest I/qt: before1 01-18 20:05:40.897 17236-17236/babis.querytest I/Process:发送信号。 PID:17236 SIG:9
我的 build.gradle 就是这个
apply plugin: 'com.android.application'
android
compileSdkVersion 26
defaultConfig
applicationId "babis.querytest"
minSdkVersion 23
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
buildTypes
release
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
packagingOptions
exclude 'META-INF/README.md'
exclude 'META-INF/CHANGES'
dependencies
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.android.support:appcompat-v7:26.1.0'
implementation 'com.android.support.constraint:constraint-layout:1.0.2'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.1'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
implementation project(':jsoup-1.11.2')
compile 'org.jsoup:jsoup:1.11.2'
我的清单是这样的:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="babis.querytest">
<uses-permission android:name="android.permission.INTERNET" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
应用程序在 Document 行崩溃。有什么问题?(wifi 工作正常)
【问题讨论】:
有什么问题? 在我的 MainActivity 上,应用程序在创建文档时崩溃(编辑了我的帖子以使其更清晰) 请显示堆栈跟踪。您发布的 logcat 似乎与您的应用或当前问题无关。 它没有显示任何错误或堆栈跟踪,它只是崩溃了 抱歉,视频没有说明我必须使用 AsyncTask,很抱歉浪费您的时间(有人可以结束这个问题吗?) 【参考方案1】:你必须在异步任务中运行它,而不是在主线程上
new AsyncTask<Void, Void, YourDataObject>()
@Override
protected YourDataObject doInBackground(Void... params)
Document doc= Jsoup.connect("http://www.google.com").get();
// parse the document here and return what ever data you want
return myFunData;
@Override
protected void onPostExecute(YourDataObject data)
//update UI based on results of parsing html
.execute((Void) null);
【讨论】:
以上是关于无法在 Android Studio 中使用 jsoup的主要内容,如果未能解决你的问题,请参考以下文章
无法按照 Google“入门”页面中的说明在 Android Studio 中添加地图; Android Studio 报错
在 Android Studio 中使用 ProGuard 时我无法构建应用程序
在 Android Studio 中使用 Retrofit 无法从 000webhost 获得响应
此版本的 Android Studio 无法打开此项目,请使用 Android Studio 4.0 或更高版本重试