在实际开发中,有时候时间短,任务量大,可以查看类似的apk,将行apk反编译,通过看源码分析,用里面的JNI代码!

本案例中用了美图秀秀的JNI.java和jni.so链接库


项目中调用别人写的c代码:

1.得到so和开发文档;

2.把so文件放到libs/armeabi/目录下;

3.根据开发文档在java代码中写一个本地方法;

4.加载动态库,调用本地方法.


准备工作 :

   创建一个第三方美图秀秀apk中JNI的一样的包名,将JNI,java放入此包名下

   将得到的so所在的文件夹armeapi复制在libs下

import com.mt.mtxx.image.JNI;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
public class MainActivity extends Activity {
static {
System.loadLibrary("mtimage-jni");//注意:这么名字是libs/armeapi下so的名字,去除前面的lib和后面的.so得到的
}
private ImageView iv;
private Bitmap bmp;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
iv = (ImageView) findViewById(R.id.iv);
bmp = BitmapFactory.decodeFile("/mnt/sdcard/aa.jpg");
iv.setImageBitmap(bmp);
}
public void show(View v){
int width = bmp.getWidth();
int height = bmp.getHeight();
int[] pixels = new int[width*height];
bmp.getPixels(pixels , 0, width, 0, 0, width, height);
JNI jni = new JNI();
jni.StyleLomoHDR(pixels, width, height);
Bitmap bitmap = Bitmap.createBitmap(pixels, width, height, bmp.getConfig());
iv.setImageBitmap(bitmap);
}
}

简易的美图秀秀利用别人的so库的更多相关文章

  1. 利用Photos 框架搭建美图秀秀相册选择器

    简介:Photos框架是iOS8.0后推出的一个新的用于对系统相册进行相关操作的,在iOS8.0之前,开发中只能使用AssetsLibrary框架来访问移动设备的图片库.本文中不再对AssetsLib ...

  2. iOS开发系列--打造自己的“美图秀秀”

    --绘图与滤镜全面解析 概述 在iOS中可以很容易的开发出绚丽的界面效果,一方面得益于成功系统的设计,另一方面得益于它强大的开发框架.今天我们将围绕iOS中两大图形.图像绘图框架进行介绍:Quartz ...

  3. iOS开发系列--打造自己的“美图秀秀”

    概述 在iOS中可以很容易的开发出绚丽的界面效果,一方面得益于成功系统的设计,另一方面得益于它强大的开发框架.今天我们将围绕iOS中两大图形.图像绘图框架进行介绍:Quartz 2D绘制2D图形和Co ...

  4. iOS:iOS开发系列–打造自己的“美图秀秀”(下)

    来源: KenshinCui 链接:http://www.cnblogs.com/kenshincui/p/3959951.html 运行效果: 其他图形上下文 前面我们也说过,Quartz 2D的图 ...

  5. PHP流式上传和表单上传(美图秀秀)

    最近需要开发一个头像上传的功能,找了很多都需要授权的,后来找到了美图秀秀,功能非常好用. <?php /** * Note:for octet-stream upload * 这个是流式上传PH ...

  6. thinkphp + 美图秀秀api 实现图片裁切上传,带数据库

    思路: 1.数据库 创建test2 创建表img,字段id,url,addtime 2.前台页: 1>我用的是bootstrap 引入必要的js,css 2>引入美图秀秀的js 3.后台: ...

  7. 强大的修图app--美图秀秀

    美图秀秀的强大之处   市面上有很多图形处理软件,最专业的是ps,但是ps做起来需要的专业技术很高,而美图秀秀可以说用起来并不需要很专业,操作起来非常方便,而且界面可爱.所以说美图秀秀是一款很好用的免 ...

  8. 美图秀秀api实现图片的裁剪及美化

    美图秀秀不仅有PC版.手机版等客户端的软件,还有Web开方接口,可以在web页面上调用美图秀秀的api接口,实现图片的编辑.像淘宝.网易.qq空间.新浪微博等大厂都使用过该接口. 官网地址:http: ...

  9. android招聘啦,美图秀秀欢迎你加入!

    前言 最近朋友公司招聘,美图秀秀大家一定很熟悉吧,欢迎你的加入. 了解相关更多技术以外的,可参考<除了敲代码,你还有什么副业吗?>,再往下看,今天给需要换工作或者还未找到工作的童鞋们谋一个 ...

随机推荐

  1. MacOs上的Intellij idea高频快捷键总结(2018.1版本)

     高频快捷键   查找类快捷键           command + F12      查看当前类方法变量           command + E         查看最近文件   Alt+F1 ...

  2. 认识并初步应用GitHub——C++

    好好学习,天天向上 一.这是一个根据规定的开头 GIT的地址 https://github.com/Notexcellent GIT的用户名 Notexcxllent 学号后五位 82405 博客地址 ...

  3. hive单机部署

    hadoop,hbase,zookeeper安装好了,现在来安装hive hadoop 版本:2.8.4 hbase 版本:2.1.3 hive 版本:2.3.4 zookeeper 版本:3.4.1 ...

  4. java HttpClientUtil帮助类

    自己写的java模拟请求帮助类,已经包含header头构造,会话session维持 package com.haozl.back.util; import java.io.File; import j ...

  5. .NET平台的发展

    .NET平台的发展.NET从1.0到.NET Core3.0:C#从1.0到8.0: ASP.NET从1.0到Core3.0: ASP.NET MVC1.0到ASP.NET MVC6.0,

  6. sql——limit

    PageHelper: https://blog.csdn.net/baidu_38083619/article/details/82463058 Sql执行顺序: https://blog.csdn ...

  7. Solr full improt时遇到的问题

    安装和配置solr转载于:https://blog.csdn.net/u010510107/article/details/81051795jdk1.8 solr7.2 mysql8.0.17-bin ...

  8. mysql优化(下)

    优化SQL语句:(1)不要使用   select  *(2)尽量在where字段上添加索引:(3)模糊查询中%前置不能使用索引,比如  like ‘%a’;(4)使用or语句时,两侧语句都有索引时才使 ...

  9. php回顾(3)系统函数

    abs()         绝对值 ceil()         向上取整 floor()       向下取整 round()     四舍五入           第二个参数:保留小数点后面几位 ...

  10. NOIP 模拟赛 那些年,我们学过的文化课 --致已退役的fqk神犇.

    /* 这大概是我第一次整理模拟赛吧. 唉. T2打了很长时间. 一开始读错题了中间都能缩合了. 真心对不起生物老师hhh. 这种状态判重的题目还是做的太少! */ 背单词 [题目描述] fqk 退役后 ...