小编jer*_*myb的帖子

TensorFlow + AndroidScanner-找不到“ libopencv_java3.so”

我在结合Tensorflow和AndroidScanner时遇到问题。

我使用Tensorflow在相机Feed上显示覆盖图。我用相机拍照,然后将其发送到服务器。有用。

现在,我导入了AndroidScannerDemo,我想使用所拍摄的图片,并使用新导入的模块对其进行裁剪/转换。它崩溃了。当我打开ScanActivity(从AndroidScannerDemo)时,它尝试加载opencv,但从未成功。错误消息如下:

致命异常:主要

    流程:fr.pacifica.insurancechat.debug,PID:2139
    java.lang.UnsatisfiedLinkError:dalvik.system.PathClassLoader [DexPathList [[zip文件“ /data/app/fr.pacifica.insurancechat.debug-OI_d1EANbiczpZEwAHYdkw==/base.apk"],nativeLibraryDirectories=[/data/app/fr .pacifica.insurancechat.debug-OI_d1EANbiczpZEwAHYdkw == / lib / arm64,/data/app/fr.pacifica.insurancechat.debug-OI_d1EANbiczpZEwAHYDkw==/base.apk!/lib/arm64-v8a,/ system / lib64 / vendor / lib64]]]找不到“ libopencv_java3.so”
    在java.lang.Runtime.loadLibrary0(Runtime.java:1011)
    在java.lang.System.loadLibrary(System.java:1657)
    在com.scanlibrary.ScanActivity。(ScanActivity.java:125)
    在java.lang.Class.newInstance(本地方法)
    在android.app.Instrumentation.newActivity(Instrumentation.java:1190)
    在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2837)
    在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3046)
    在android.app.ActivityThread.-wrap11(未知来源:0)
    在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1688)
    在android.os.Handler.dispatchMessage(Handler.java:105)
    在android.os.Looper.loop(Looper.java:164)
    在android.app.ActivityThread.main(ActivityThread.java:6809)
    在java.lang.reflect.Method.invoke(本机方法)
    在com.android.internal.os.Zygote $ MethodAndArgsCaller.run(Zygote.java:240)
    在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)

当我从gradle / code中删除TensorFlow引用时,导入的模块可以正常工作。

java-native-interface android opencv tensorflow

2
推荐指数
1
解决办法
816
查看次数

测试列表首选项

我正在尝试测试android偏好设置,而我对如何实现该结果感到有些困惑。

这是我的偏爱

<PreferenceScreen 
xmlns:android="http://schemas.android.com/apk/res/android">
<ListPreference
    android:id="@+id/numberListPreference"
    android:defaultValue="3"
    android:entries="@array/number_text"
    android:entryValues="@array/number_value"
    android:key="@string/pref_key"
    android:summary="@string/pref_summary"
    android:title="@string/pref_title" />
</PreferenceScreen>
Run Code Online (Sandbox Code Playgroud)

我想测试一下,当我更改显示的ListPreference中的数字时,实际上已更改了SharedPreference。

现在,代码可以正常工作了,我只是阻塞了测试部分。

这是我活动的一部分:

public class SettingActivity extends AppCompatActivity implements
SharedPreferences.OnSharedPreferenceChangeListener {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        getFragmentManager()
            .beginTransaction()
            .replace(android.R.id.content, new SettingsFragment())
            .commit();
    }

    public static class SettingsFragment extends PreferenceFragment {
        @Override
        public void onCreate(@Nullable Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            addPreferencesFromResource(R.xml.preferences);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

问题是我遇到经典的“如果目标视图不属于视图层次结构”错误。

欢迎任何帮助。谢谢 !

android android-testing android-espresso

1
推荐指数
1
解决办法
164
查看次数