标签: android-native-library

Flutter:MainActivity 无法在 Java Native 代码中转换为 FlutterEngine

我正在尝试用 Java 为 Flutter 创建一个插件。我试图Android activity在我的主Java类中传递参数。

这是我的本机代码:

package com.example.trsurveys;

import androidx.annotation.NonNull;
import android.app.Activity;

import io.flutter.embedding.engine.plugins.FlutterPlugin;
import io.flutter.plugin.common.MethodCall;
import io.flutter.plugin.common.MethodChannel;
import io.flutter.plugin.common.MethodChannel.MethodCallHandler;
import io.flutter.plugin.common.MethodChannel.Result;
import io.flutter.plugin.common.PluginRegistry.Registrar;

import theoremreach.com.theoremreach.TheoremReach;


public class TrsurveysPlugin implements FlutterPlugin, MethodCallHandler {
  private MethodChannel channel;
  private Registrar registrar;
  private Activity activity;

  @Override
  public void onAttachedToEngine(@NonNull FlutterPluginBinding flutterPluginBinding) {
    channel = new MethodChannel(flutterPluginBinding.getFlutterEngine().getDartExecutor(), "trsurveys");
    channel.setMethodCallHandler(this);
  }

When I try to debug my app it shows me the following errors

    private TrsurveysPlugin(Activity activity) {
        this.activity = …
Run Code Online (Sandbox Code Playgroud)

java android dart flutter android-native-library

11
推荐指数
2
解决办法
2529
查看次数

Android活动崩溃(DeadObjectException)

这是我的logcat详细信息请帮我解决这个问题

03-28 11:58:13.421     992-5910/? D/ActivityManager? New dropbox entry: com.dpc.selfie, data_app_native_crash, 5f2d762f-9b90-42d2-8a2a-bda978da87bc
03-28 11:58:13.431     992-5910/? W/ActivityManager? Force finishing activity com.dpc.selfie/.Act.Activity_Feeds
03-28 11:58:13.461     992-1177/? W/InputDispatcher? channel '4443fea0 com.dpc.selfie/com.dpc.selfie.Act.Activity_Feeds (server)' ~ Consumer closed input channel or an error occurred.  events=0xd
03-28 11:58:13.461     992-1177/? E/InputDispatcher? channel '4443fea0 com.dpc.selfie/com.dpc.selfie.Act.Activity_Feeds (server)' ~ Channel is unrecoverably broken and will be disposed!
03-28 11:58:13.501      310-310/? D/Zygote? Process 5738 terminated by signal (7)
03-28 11:58:13.531     992-5910/? D/dalvikvm? GC_FOR_ALLOC freed 3663K, 18% free 44731K/54304K, paused 91ms, total 91ms
03-28 11:58:13.531 …
Run Code Online (Sandbox Code Playgroud)

android android-studio android-native-library

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

当最小 SDK 从 21 增加到 24 时,APK 大小增加了 35mb

最近,我们将最低支持的 SDK 从 API 21 提升到了 24。

显然,这一变化导致我们的 APK 大小从 65mb 增加到 103mb。从Android studio中的APK分析可以看出,基本上都是.so文件大小翻倍了。

但为什么会这样呢?gradle 属性没有改变,只有 min sdk。

关于如何再次减小 APK 大小的任何想法?

android apk android-min-sdk android-6.0-marshmallow android-native-library

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

android .so文件未在/ data/data/<package>/lib中解压缩

我正在开发一个原生的android应用程序,并使用一个生成.so文件的开源库.面对一个奇怪的行为.在最初的几次,应用程序运行得非常好,库已加载.但现在它无法找到图书馆并给出 -

java.lang.UnsatisfiedLinkError:无法加载:findLibrary返回null

.Below很少观察:1.当我提取.apk文件时,库(.so)出现在"lib/armeabi"文件夹下.2.但是当我尝试搜索库(.so)进入设备提取路径时

/ data/data // lib /,它不存在.有关为什么会发生这种奇怪行为以及为什么.so文件未在/data/data/com.ibm.homeScreen/lib/文件夹中解压缩的任何建议.

提前致谢!

android unsatisfiedlinkerror android-native-library

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

如何将共享库添加到我的APK?

的非常精确的副本添加本地库到APK.由于没有答案,我决定再问一次.

我有一个Android项目.我有一个用android NDK构建的.so库.我希望在我的项目中使用这个.so,而不是使用NDK.

那么,我如何告诉Eclipse(或Android工具)我需要确定.还是要内置到我的APK中?

android android-ndk android-native-library

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

反应本机崩溃:线程:SIGSEGV libjsc.so

我们在 android 设备的各个随机位置发生以下崩溃。虽然我们已经将 ndk abifilters 更改为“armeabi-v7a”、“arm64-v8a”

  Crashed: Thread :  SIGSEGV  0x0000000000000010
  #00 pc 0x723d46f748 libjsc.so 
  #01 pc 0x723d4bbfe8 libjsc.so 
  #02 pc 0x7339d68b6c libc.so 
Run Code Online (Sandbox Code Playgroud)

当前配置

RN 版本 0.63.4

 defaultConfig {
    ..
    ndk { abiFilters  "armeabi-v7a", "arm64-v8a" }
}
splits {
    abi {
        reset()
        enable enableSeparateBuildPerCPUArchitecture
        universalApk false  // If true, also generate a universal APK
        include "armeabi-v7a",
                "x86", "arm64-v8a", "x86_64"
    }
}

 project.ext.react = [
    entryFile   : "index.js",
    enableHermes: false,  // clean and rebuild if changing
 ]
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

在此处输入图片说明

android react-native android-native-library

5
推荐指数
2
解决办法
2062
查看次数

Android应用程序中预构建的本机库

我有一个Android应用程序,它使用一些预构建的本机库(Osmand预构建库).问题是,当我在手机上运行应用程序时,它表示缺少这些库.当我查看.apk文件时,没有"lib"文件夹 - 如何设置eclipse导出它们?

eclipse android osmdroid android-native-library

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

加载所需的库时无法链接可执行错误。如何正确链接它们?

编辑:我知道可能重复,但答案不直接适用。我正在使用 ProcessBuilder 而不是 Runtime.getRuntime().exec:

public int execProcess(List<String> cmds, ShellUtils.ShellCallback sc) {    
    StringBuilder cmdlog = new StringBuilder();
    for (String cmd : cmds) {
         cmdlog.append(' ');
    }
    Utils.logger("v", cmdlog.toString(), DEBUG_TAG);

    ProcessBuilder pb = new ProcessBuilder();
    pb.directory(mBinFileDir);
    pb.command(cmds);

    Process process = null;
    int exitVal = 1; // Default error
    try {
        process = pb.start();

        StreamGobbler errorGobbler = new
        StreamGobbler(process.getErrorStream(), "ERROR", sc);

        StreamGobbler outputGobbler = new
        StreamGobbler(process.getInputStream(), "OUTPUT", sc);

        errorGobbler.start();
        outputGobbler.start();

        exitVal = process.waitFor();

        sc.processComplete(exitVal);

     } catch (Exception e) {
         Log.e(DEBUG_TAG, "Error executing ffmpeg …
Run Code Online (Sandbox Code Playgroud)

java android ffmpeg libs android-native-library

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

Android:在 android studio 中进行 NDK-Build C/C++ 调试

在 Android studio(v4.1.2) 中尝试 ndk-build C 代码调试。下面是 build.gradle 设置。

  1. jni ,C/C++ 源文件 Dirs. 实际的 C 文件不在 jni 文件夹下,而是在其外部,但在 android.mk 文件中引用。

    sourceSets.main.jniLibs.srcDirs = ['D:/ccodefolder/jni/']

2)Android.mk 从 C、C++ 代码构建共享库,并链接内置共享库和静态库。

 externalNativeBuild {
           ndkBuild {
               path file('D:/ccodefolder/jni/Android.mk')
           }
       }
       ndkVersion '21.1.6352462'
Run Code Online (Sandbox Code Playgroud)
debug {
        debuggable true
        jniDebuggable true
        minifyEnabled false
        shrinkResources false
       //ndk.debugSymbolLevel = 'FULL'
    }
Run Code Online (Sandbox Code Playgroud)

4)项目结构如图所示。

在此输入图像描述

能够运行项目并生成共享库以及其他预构建的 .SO 和 apk 作品,还创建了 CPP 文件夹并能够查看我的项目的 C 代码文件。

调试问题:

LLDB 服务器启动并且调试器附加到进程,但是调试任何 C 文件都失败并出现以下错误。

当前不会命中断点。没有可执行代码与该行关联

在此输入图像描述

谢谢

android android-ndk android-studio ndk-build android-native-library

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

了解导致信号 11 (SIGSEGV)、代码 1 (SEGV_MAPERR) 几秒后错误的 Android 问题

我正在运行一个传感器和位置服务,数据被传递到 TraceManager 文件,在那里它被处理并传递给 TraceCWrapper 以映射到一个共享的 C 库。所以,似乎传感器和位置数据很好并被接收在 TraceManager 中,它然后被传递到 TraceCWrapper,但是应用程序在几秒钟后崩溃,我得到的唯一错误行是:

A/libc:致命信号 11 (SIGSEGV),代码 1 (SEGV_MAPERR),tid 29938 中的故障地址 0x8 (AsyncTask #1),pid 29870 (pp.traceandroid)



public class TraceManager extends AppCompatActivity {

    private String TAG = "TraceManager";
    private int phoneAngle = 0;
    private double initialStepCalibrationOffset;
    private int initialPointingAngleDeg = 0;
    private int initialAlignmentMode = 0;
    private int startingFloorID = 0;
    private LatLng startingLatLong;
    private double startingAccuracy = 1.0;
    private Context context;
    private boolean isMagConsistentAtInit = false;
    private boolean isMagValid = true;
    private Timer callBackTimer; …
Run Code Online (Sandbox Code Playgroud)

java java-native-interface android jna android-native-library

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