AndroidStudio NDK开发

Mac下的AndroidStudio的NDK配置及开发示例 Mac OS 10.11.5 AndroidStudio 2.3.2 NDK 10 Mac下的AndroidStudio的NDK配置及开发示例 ----------------------------------------------------------------------------------------------------------- 一、下载NDK(这个分版本,Win 阅读详情

以前一直用Eclipse做Android开发,后来谷歌宣布停止ADT的更新了,无奈转向使用AndroidStudio这个IDE了。

Android NDK开发 :使java能够调用C/C++写的SO库,其实就是Java的jni技术

好处:APK破解难度增大,把核心业务逻辑写到so库里,会增加破解的门槛。

先说下我的环境

Windows 7 SP1 64位

JDK版本  java version "1.7.0_80"

AndroidStudio 1.5.1


1.新建一个Android工程


2.配置NDK

打开ProjectStructure窗口->点击SDK Location,下面的Android NDK Location 点击下载安装NDK


3.新建类NetUtil(类名可以自己随便写了),



4.编写类NetUtil内容

package demo.xgn.com.app1;

/**
 * Created by Administrator on 2016/7/26.
 */
public class NetUtil {
    static {
        System.loadLibrary("NetUtil"); //这里的NetUtil是底层So库的名称
    }
    public native String getNetResult(); //熟悉java的jni编程的同学,一看就知道了,这是本地方法,对应so库里的方法
}
编译项目Build->Make Module 'app'

查看intermediates\classes\debug 目录下是否生成NetUtil.class文件,若没有生成则重新编译


打开AndroidStudio的Termminal命令行窗口

cd C:\Users\Administrator\AndroidStudioProjects\app1\app\build\intermediates\classes\debug (这个路径取自己电脑上的实际路径)

执行 javah -jni demo.xgn.com.app1.NetUtil 生成头文件

会在该目录生成对应的头文件,把该文件拷贝到 main/jni目录下(如果jni目录不存在则手动新建)


接着在jni目录下新建 nettest.c文件(文件名随便写)

//
// Created by Administrator on 2016/7/26.
//

#include "demo_xgn_com_app1_NetUtil.h"

JNIEXPORT jstring JNICALL Java_demo_xgn_com_app1_NetUtil_getNetResult
        (JNIEnv *env, jobject obj){
    return (*env)->NewStringUTF(env,"Android NDK编程");
}

编辑 local.properties 文件添加 NDK路径(AndroidStudio会在安装NDK后自动添加的)

ndk.dir=C\:\\Users\\Administrator\\AppData\\Local\\Android\\sdk\\ndk-bundle
编辑项目下的build.gradle
找到 defaultConfig 在它里面添加

ndk {
    moduleName "NetUtil"          //生成的so名字(这个So库名称要与NetUtil中载入的库名称一致)
}
编译并运行APK

在Activity中调用NetUtil

package demo.xgn.com.app1;

import android.app.Activity;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

import java.util.logging.Handler;

public class MainActivity extends Activity {
    
    private Button btn1;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        this.btn1=(Button)this.findViewById(R.id.btn1);
        if(btn1!=null){
            btn1.setOnClickListener(new View.OnClickListener() {

                @Override
                public void onClick(View v) {
                    NetUtil nu=new NetUtil();
                    Toast.makeText(MainActivity.this,nu.getNetResult(),Toast.LENGTH_LONG).show();
                }
            });
        }


    }


}

.

编译并运行APK





 

基于DeepFashion2和YOLOv12的服装检测系统:从数据集构建到UI界面实现 官方网站:数据集大小: 约80GB(压缩包)包含训练集、验证集和测试集数据集目录结构:text复制下载├── train/└── test/├── image/├── annos/Backbone优化:使用更高效的CSPNet结构Neck增强:引入BiFPN特征金字塔网络Head改进:使用解耦头(Decoupled Head)提升分类和定位精度损失函数:采用CIoU损失和分类Focal Loss训练策略:引入Mosaic数据增强和自适应锚框python复制下载。 阅读详情

相关推荐

多思计算机组成原理实验:模型机课程设计

计算机组成原理实验教程 基于多思网络虚拟实验系统 张雯雰

Nick的博客 2万+

AndroidStudio NDK开发环境配置及示例

AndroidStudio NDK开发环境配置及示例 版本说明 版本 作者 日期 备注 0.1 loon 2020.8.26 初稿 目录 文章目录AndroidStudio NDK开发环境配置及示例版本说明目录一、Android Studio NDK环境配置1、下载ndk和工具:2、配置项目的sdk和ndk二、NDK示例工程及简单分析三、最后 首先安装好AndroidStudio及SDk环境配置,这个我之前已经总结过了: https://blog.youkuaiyun.com/weixin_395

逍遥游的博客 3万+

Diffix3D+复现

上下载模型,将其放在一个目录中,并将目录名填在demo代码中from_pretrained的cache_dir参数里。目录结构应该是"<PATH>/nvidia/difix/…给的requirements文件中pytorch和xformers的版本没有指定,这里测试过以下版本,可以成功运行。将readme中的demo代码新建一个python脚本复制进去,然后将脚本放在src目录中运行。如果遇到网络问题无法加载huggingface上的预训练模型,可以手动从。如果出现,以下错误重新。

NeverMakeIt的博客 1085

AndroidStudio搭建NDK开发环境

两年前在公司电脑上搭建过NDK开发环境,很久没有使用过了。最近,闲来无事,在笔记本上搭一下Ndk开发环境,记录一下AndroidStudio搭建DNK开发环境的过程。 一、下载NDK 去开发者网站下载ndk。地址:https://developer.android.google.cn/ndk/downloads/index.html。如下图所示,下载对应版本的ndk。 二、解压NDK到S...

zhaojun的博客 2万+

手持式激光测距仪全套方案

激光测距全套方案,包括原理图、源代码、PCB、BOM、光学部分资料,结构、特殊元件数据手册及供应商联系方式,提供调试技术文档。全套方案已成功打板验证,实现0.05~50m测量范围,精度在+/—1.5mm,激光波长635~650nm,功率《1mW。方案预留了TTL串口、RS485接口,可通过串口助手看到测量数据,可自行DIY或者商业开发。无论是电路小白,还是技术大拿,都能通过方案资料成功做出一套激光测距仪。

Laser01的博客 2055

告别轮询!用STM32CubeMX给STM32F030配置ADC多通道+DMA,实测代码分享

本文详细介绍了如何使用STM32CubeMX为STM32F030配置ADC多通道采集与DMA传输,显著提升采集效率。通过实测对比轮询与DMA模式的性能差异,提供完整的代码实现和优化技巧,帮助开发者快速掌握这一高效采集方案。

weixin_42570296的博客 410

AndroidStudio中的NDK开发初探

前段时间由于做比赛的事,一直都没时间写博客,现在终于可以补上一篇了,一直想学习一点NDK开发的知识,但是迟迟没有动手,正好有一个NDK相关的项目机会,便查阅了一些资料,遂将学习的一些心得方法记录于此。

写代码的林克 1万+

SAP SD核心流程解析:从销售订单到财务结算的实战指南

本文深入解析SAP SD模块从销售订单到财务结算的核心流程,重点剖析了销售订单中的行项目类别如何作为流程的“总开关”,决定了后续交货、开票及财务集成的走向。文章结合实战案例,详细拆解了正常销售、退货、第三方销售、寄售等典型流程的配置要点与国内化适配方案,并阐述了SD与财务模块集成的关键连接点,为顾问和用户提供了一份全面的实战指南。

weixin_29250403的博客 426

AndroidStudio下NDK开发初探

0x00:NDK环境配置 Android的NDK开发是Android开发中一项很重要的技术。这里先介绍下NDK开发在AndroidStudio的环境配置。 一.NDK下载 Android NDK下载地址:NDK下载点击。友情提示:该链接的下载,无需科学上网。在该链接下选择一个版本的NDK下载。由于作者的电脑是Windows64位的,我下载的是”android-ndk-r16b-windo...

RQ997832的专栏 363

离散数学期末复习笔记【精华版】

文章目录前言一、????理逻辑1. 命题逻辑2. 等值演算3. 主合取范式、主析取范式4. 【题】推理证明5. 辖域、自由变元、约束变元二、????合1. 环和、环积,幂集,笛卡尔乘积三、 ????????关系1. 自反、对称、传递2&3. 合成运算,逆关系、闭包4. 哈斯图、上下界、偏序5. 等价关系、划分四、????1. 幺元(么元、单位元)、零元、逆元,半群、群、阿尔贝群、独异点、循环独异点2. 【题】由表判断3. 【题】证明五、????论1. 简单图、平凡图、多重图、子图、补图、出度、入度、

林大夕可的博客 17万+

【cocos2dx面试题干货】--2021年最新cocos2dx面试干货(引擎篇)

【cocos2dx面试题干货】--2020年度最新cocos2dx面试干货(引擎篇 ) 大家好,我是Lampard~~ 经过春招一番艰苦奋战之后,我终于是进入了心仪的公司。 今天给大家分享一下我在之前精心准备的一套面试知识。 由于我面试的岗位是cocos2dx的开发岗,今天就先给大家分享一下引擎方面的知识。 本人亲测80%的引擎相关题目都...

Lampard的博客 1万+

AndroidStudio配置NDK开发环境

Google已经不对eclipse 的ADT更新,码农们都纷纷把之前写在eclipse里面的工程往AndroidStudio中迁移。抽个空把之前在eclipse下面的NDK程序移植到AS中来,现分享下成果。

flueky的专栏 3301

matlab 点云均值、中值、高斯滤波【2024最新版】

点云均值滤波、中值滤波、高斯滤波的matlab自带函数实现。博客长期更新,本文最近一次更新时间为:2024年11月9日。

点云侠的博客 5259

android studio ndk 语法,AndroidStudio下NDK开发流程

以前做过eclipse下的NDK的开发,随着google推出了android studio,现在android开发越来越遗弃eclipse,所以就想对android studio下NDK开发有所了解。NdkDemo是一个简单的通过native调用C返回一串字符的demo,主要是想通过这个小demo了解AS下的NDK开发(实践中检验可行性)。1.配置NDK环境、新建项目(1). 通过Android...

weixin_39968852的博客 158

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

android ndk 开发指南,AndroidStudio NDK开发最佳入门实践

AndroidStudio NDK开发最佳入门实践网上一些介绍AndroidStudio NDK入门的教程,感觉都不是很完整和全面,也没有告诉初学AndroidStudio NDK的同学们一些需要注意的地方。网上的方法大多需要使用javah命令,使用本文的方法将不再使用该命令了,是不是方便了很多。本文所介绍的是在AndroidStudio上搭建最佳的NDK开发环境,给使用NDK的开发人员最大的方便...

weixin_39542608的博客 349

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

AndroidStudio下初涉NDK开发

虽然具体还没有需要用到NDK开发,但先了解一下也是好的,所以搭建了一下NDK环境并配置尝试第一个helloworld,在网上找了很多文章,都略微有点不清楚,在此整理总结一下在AndroidStudio开发JNI过程。 一、下载NDK,配置环境变量  看了个网上视频教程是在eclipse下,需要用NDK的命令行,发现在AndroidStudio下不用,方便极了。。NDK翻墙到官网下,或者百度,这

Jali_li的博客 465

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

AndroidStudio Ndk 开发

AndroidStudio Ndk 开发 头文件生成 在终端下面使用以下命令即可 F:\Net-Code\nkdServer\app\src\main\java>javah -d ../jni -jni com.felink.myapplication.MainActivity build.gradle Application.mk APP_ABI := armeabi armeabi-v7a

u011691253的博客 226

AndroidStudio NDK开发最佳入门实践

AndroidStudio NDK开发最佳入门实践网上一些介绍AndroidStudio NDK入门的教程,感觉都不是很完整和全面,也没有告诉初学AndroidStudio NDK的同学们一些需要注意的地方。网上的方法大多需要使用javah命令,使用本文的方法将不再使用该命令了,是不是方便了很多。 本文所介绍的是在AndroidStudio上搭建最佳的NDK开发环境,给使用NDK的开发人员最大的方

lavor_zl的专栏 658

AndroidStudio下的NDK开发

1开发环境的准备   开发环境 AndroidStudio 2.1.2 SDK 24.0.0 NDK 12.1.2977051 NDK安装与配置 首先,去官网下载Android NDK到本地; 其次,创建一个Android项目工程; 最后,打开Project Structure,选择Andr

文韬武略的专栏 641

AndroidStudio开发NDK

配置NDK路径配置moduleName创建native方法 生成头文件D:\WorkSpace\ASWork\MyApplication2\app\src\main\java>javah -d ../jni com.fjl.myapplication.JniTest 将.h拷贝一份,后缀名改成.cpp 最后在MainActivity种调用就可以啦new JniTest().SayHe

fjliang的专栏 618

AndroidStudio 配置NDK开发环境,SDKManager下没有显示NDK

m0_37678565的博客 3938
上一篇: C# Http网络访问类
下一篇: MFC 组合按键实现
IT回忆录
博客等级 码龄16年 42粉丝 100原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值