The connection to adb is down, and a severe error has occured.You must restart adb and Eclipse.Please ensure that adb is correctly located at 'D:\eclipse\android-sdk\platform-tools\adb.exe' and can be
转载 2023-06-28 14:44:11
90阅读
高效加载大图片 1.防止OOM 1.图片压缩,使用bitmapFactory选择方法进行解析,并压缩图片 预估一下加载整张图片所需占用的内存。为了加载这一张图片你所愿意提供多少内存。用于展示这张图片的控件的实际大小。当前设备的屏幕尺寸和分辨率。 通过设置BitmapFactory.Options中inSampleSize的值就可以实现图片压缩。 使用这个方法,
转载 2023-09-15 20:56:47
104阅读
# 如何在Android Studio中实现JNI调试 在Android开发中,使用JNI(Java Native Interface)来调用本地C/C++代码是非常常见的。然而,对于刚入行的小白来说,在Android Studio中设置JNI调试,尤其是断点调试,可能会遇到困难。本文将为你详细解析如何实现JNI断点调试,从环境配置到代码实现每一个步骤都有具体的说明。 ## 步骤流程 首先,
原创 2024-09-17 05:53:36
312阅读
1、android加载器(DexClassLoader的用法),调用其他apk的类中的方法:方式一:   然后在Host中利用下面的方式调用 PackageManager pm = getPackageManager(); List<ResolveInfo> resolveInfos = pm.queryIntentActivities(new Intent("
一、JNI原理1.java加载本地so库的过程:(1)在java类中加载本地.so库文件,并声明native方法;(native方法就是C/C++方法) (也就是在java层只需要加载对应的JNI库和声明由关键字native修饰的函数) (2)在C代码中实现so库中对应的方法; (3)在java层需要调用native方法的地方进行调用;·从动态加载开始看: 动态加载so库:NDK就是用动态加载,动
转载 2023-08-03 09:57:40
80阅读
别人写好的动态库,需要自己写jni包一层,这样就可以在java中调用这个库了。其实还有第二种方法,就是使用jna来调用,这样不用写jni,但是今天我们不讨论jna的用法。这里介绍如何在Android Studio中,编写jni调用他人的.so动态库。复制动态库到项目他人提供的库,需要包含头文件,和.so文件。先看一下我的项目主要目录: 把他人提供的so库放在libs目录下,如图所示,我这里他人提供
转载 2023-08-31 19:38:54
81阅读
JNI(Java Native Interface)加载Java的过程中,遇到的主要问题往往与环境设置、库依赖、权限管理以及兼容性相关。本文将围绕“JNI加载Java”的主题,从环境预检到扩展部署,详细记录解决这一问题的步骤和思路。接下来我们来逐步剖析这个过程。 ## 环境预检 在解决JNI加载的问题之前,首先需要全面检查我们的环境设置。这里涉及到硬件配置、依赖库版本以及操作系统等方面。 以
原创 7月前
32阅读
我一直用的一个三星手机,采用原厂的ROM就没有问题,一旦刷成比较新的4.2版本,就会出现(经常性的)内置SD卡无法自动加载的问题。这是一个很讨厌的问题,因为一旦内置的SD卡无法加载,很多应用就会出问题,比方说相机就会拒绝工作,其他应用的配置就会丢失等,即使手机插了外部的SD卡,但是大多数应用只认内部的SD卡!上网搜了很久,貌似碰到该问题的人不是很多,一个比较靠谱的回答是内置的内存质量有问题,所
转载 2023-10-06 15:05:18
110阅读
Android中的资源是指非代码部分,如图片、音频、视频、字符等资源。一般我们都是在assets中保存原生的文件,如:MP3文件,Android程序不能直接访问,必须通过AssetManager类以二进制流的形式读取。布局类型文件一般都放在res文件夹下,如:anim,drawable,layout,values,xml,raw,menu等等,这些资源都可以通过R资源类直接访问。assets中的资
1、类加载过程 多个java文件经过编译打包生成可运行jar包,最终由java命令运行某个主类的main函数启动程序,这里首先需要通过类加载器把主类加载到JVM。 主类在运行过程中如果使用到其它类,会逐步加载这些类。 注意,jar包里的类不是一次性全部加载的,是使用到时才加载。类加载到使用整个过程有如下几步: 加载 >> 验证 >> 准备 >> 解析 >&
转载 2023-11-10 05:54:01
152阅读
# 如何解决 Android 无法加载图片的问题 在 Android 开发中,加载图片是一个常见的需求,但有时候我们可能会遇到无法加载图片的问题。本文将指导你如何逐步排查并解决这个问题。通过以下几个步骤,我们可以清晰地了解加载图片的流程及其可能出现的问题。 ## 整体流程 我们可以把整个流程简化成以下步骤: | 步骤 | 描述 | |------|------| | 1 | 确认图片
原创 2024-10-03 07:18:44
256阅读
# Android 无法加载 SO 文件的原因及解决方案 在 Android 开发中,使用 JNI(Java Native Interface)来调用 C/C++ 编写的代码是一个常见的做法。为了使 Java 代码能够与本地代码进行交互,通常会使用 `.so` 文件(Shared Object)。虽然这个过程非常高效,但有时候通用的错误“无法加载 SO 文件”会让开发者感到沮丧。本文将探讨导致这
原创 10月前
376阅读
# Java JNI 加载 SO 文件的简要指南 Java Native Interface (JNI) 是一种编程框架,可以让 Java 代码调用其他语言编写的程序。通常情况下,它用于与 C 或 C++ 编写的本地库进行交互。在 Android 开发中,JNI 也常用于加载和调用 SO(Shared Object)文件。本文将探讨如何在 Java 应用中使用 JNI 加载 SO 文件,并提供代
原创 11月前
109阅读
JNI和NDK是面试经常被问到的热点问题,在这里做一个记录。1.阐述你对JNI的理解  JNI的全称是Java Native Interface(Java本地接口)是一层接口,是用来沟通Java代码和C/C++代码的,是Java和C/C++之间的桥梁。通过JNI,Java可以完成对外部C/C++库函数的调用,相对的,外部C/C++也能调用Java中封装好的类和方法。  Java的优点是跨平台,和操
转载 2023-09-28 11:55:01
193阅读
背景:对于Android工程 Eclipse里编译好的.so文件放到 libs\armeabi下以后, 这样.so文件就可以打包到apk文件里,在apk装到手机上以后  在libs\armeabi下的.so文件应该就会解压到/data/data/这里是你project的包名(比如com.first.second)/lib下。问题:写了个测试的android JNI app,.so已经放到了
转载 2021-07-30 15:22:06
364阅读
背景:对于Android工程 Eclipse里编译好的.so文件放到 libs\armeabi下以后, 这样.so文件就可以打包到apk文件里,在apk装到手机上以后 在libs\armeabi下的.so文件应...
转载 2013-10-21 13:53:00
107阅读
2评论
今天先说一下JNI和NDK的概念,然后在记录一下CMake开发的步骤和注意事项概念JNI:Java Native Interface标准是Java平台的一部分,JNI是Java语言提供的让Java语言和其他语言(尤其是C/C++)进行沟通,Java语言通过JNI可以调用C/C++代码,C/C++代码也可以通过JNI调动Java代码 NDK:Native Development Kit是一系列工具的
转载 2023-12-01 14:30:48
185阅读
一、JNI概述JNI是Java Native Interface的缩写,中文译为“Java 本地调用”。通俗地说,JNI是一种技术,通过这种技术可以做到以下两点:Java程序中的函数可以调用Native语言写的函数,Nativie一般指的是C/C++编写的函数。Native程序中的函数可以调用Java层的函数,也就是说在C/C++程序中可以调用Java函数。在平台无关的Java中,为什么要创建一个
转载 2023-10-25 22:00:12
150阅读
经过几天的努力终于搞定了android JNI部分,下面将我的这个小程序和大家分享一下。android JNI是连接android Java部分和C/C++部分的纽带,完整使用JNI需要Java代码和C/C++代码。其中C/C++代码用于生成库文件,Java代码用于引用C/C++库文件以及调用C/C++方法。android Java部分代码:jnitest.java package com.he
转载 2023-08-02 22:07:14
132阅读
  JNI 全称为Java Native Interface 即Java本地接口,JNI是Java调用Native 语言的一种特性。通过JNI可以让Java与C/C++相互调用。一、如何使用JNI(注:本文中均只介绍CMakeList方式编译):首先我们要在java中声明一个本地方法如:(此为kotlin 写法 java 写法为 public native void
转载 2023-10-25 21:59:53
65阅读
  • 1
  • 2
  • 3
  • 4
  • 5