概述

在Andorid Studio不支持JNI开发之前大家一般都是使用Eclipse开发JNI,各种配置让人觉得很蛋疼。从Andorid Studio支持JNI开发后,让我们开发JNI变的如此简单。下面我就介绍一下Android Studio开发JNI的全过程,如有不对的地方大家批评指正。

你将学习到什么

  • 什么是NDK和JNI
  • 为什么要用JNI做开发
  • 如何使用Android Studio开发JNI项目

你需要准备什么

  • c/c++开发语言基础
  • java开发语言基础
  • 了解Android Studio开发环境

NDK 和 JNI介绍

JNI (Java Native Interface)是一套编程接口,用来实现java代码和其他语言(c、C++或汇编)进行交互。这里需要注意的是JNI是JAVA语言自己的特性,也就是说JNI和Android没有关系。在Windows下面用JAVA做开发也经常会用到JNI,例如:读写系统注册表等。

NDK(Native Development Kit)是Google提供的一套工具集,可以让你其他语言(C、C++或汇编)开发 Android的 JNI。NDK可以编译多平台的so,开发人员只需要简单修改 mk 文件说明需要的平台,不需要改动任何代码,NDK就可以帮你编译出所需的so。

用JNI做应用开发难度要比JAVA难很多,门槛也要高很多,如果你对C/C++把握的不好应用还会出现难以发现的Bug!所以
通常在对性能要求比较高才会使用。游戏引擎就是一个对性能要求极高的例子。另外就是如果你想把核心的一些算法或处理逻辑保护起来,选用JNI也是一个不错的方案。

下载NDK

官网下载
网盘下载

NDK配置

将ndk解压到~/Library/Android/ndk下;
2016-03-24_15-10-10.png

创建Hello World工程

  • 用Andoird Studio创建一个Hello World工程,新手可以看看,Android Studio系列教程:
    Android Studio2.0 教程从入门到精通Windows版 - 安装篇
    Android Studio2.0 教程从入门到精通Windows版 - 入门篇
    Android Studio2.0 教程从入门到精通Windows版 - 提高篇
    Android Studio2.0 教程从入门到精通Mac版 - 安装篇
    Android Studio2.0 教程从入门到精通Mac版 - 入门篇
    Android Studio2.0 教程从入门到精通Mac版 - 提高篇

设置NDK路径

选择File>Project Structure>SDK Location(快捷键:Cmd+;),指定NDK的路径。
2016-03-24_16-11-28.png
2016-03-24_16-10-35.png
你也可以通过直接修改local.properties,在里面指定NDK的所在目录:

ndk.dir=/Users/open-open/Library/Android/ndk

2016-03-27_21-17-34.png

添加本地方法

在MainActivity中加入两个JNI方法

public static native String helloJni();
public static native int addCalc(int a, int b);

加载SO文件

static {System.loadLibrary("hello_jni"); // 注意没有前缀lib和后缀.so
}

利用javah命令生成JAVA所对应的JNI头文件,1、打开终端,2、将目录定位到java目录下,3、通过javah产生头文件。
2016-03-28_07-46-07.png
通过上图可以看到javah已经帮我们产生了一个名为com_test_jcit_helloworld_MainActivity.h头文件,里面已经帮我们产生好了2个函数原型定义,

JNIEXPORT jstring JNICALL Java_com_test_jcit_helloworld_MainActivity_helloJni(JNIEnv *, jclass);
JNIEXPORT jint JNICALL Java_com_test_jcit_helloworld_MainActivity_addCalc(JNIEnv *, jclass, jint, jint);

javah产生的文件名和函数名不能直视,我们只需要在需要的地方填入相应的代码。

创建JNI目录

2016-03-27_20-03-35.png
New Android Component中直接点击Finish按钮完成JNI目录创建
2016-03-27_20-34-45.png
结果如下:
2016-03-27_20-40-24.png
将前面产生的com_test_jcit_helloworld_MainActivity.h头文件移动到这个目录下.
2016-03-28_22-11-05.png
move窗口中点击ok按钮,确定移动。
2016-03-28_22-14-02.png
com_test_jcit_helloworld_MainActivity.h拷贝一个将扩展名改为.c,在.c中完成业务逻辑处理相关代码:

#include <com_test_jcit_helloworld_MainActivity.h>
JNIEXPORT jstring JNICALL Java_com_test_jcit_helloworld_MainActivity_helloJni(JNIEnv *env, jclass jobj) {return (*env)->NewStringUTF(env,"Hello JNI!");
}JNIEXPORT jint JNICALL Java_com_test_jcit_helloworld_MainActivity_addCalc(JNIEnv *env, jclass jobj, jint ja, jint jb) {return ja + jb;
}

2016-03-28_22-57-59.png

添加一个名为hello_jni的jni模块

修改Module中Build.gradle文件,在defaultConfig段落中加入ndk编译配置。  

defaultConfig {applicationId "com.test.jcit.helloworld"minSdkVersion 15targetSdkVersion 19versionCode 1versionName "1.0"ndk {moduleName "hello_jni"}
}

调用两个native方法

在MainActivity中OnCreate中调用helloJni和addCalc。

protected TextView mHelloWorldTV;
protected TextView mCalcResultTV;@Override
protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);mHelloWorldTV = (TextView) findViewById(R.id.HelloWorldTV);mHelloWorldTV.setText(helloJni());mCalcResultTV = (TextView) findViewById(R.id.CalcResultTV);Integer addResult = new Integer(addCalc(1213));mCalcResultTV.setText(addResult.toString());
}

编译错误排查

编译过程出现了Error:(13, 1) A problem occurred evaluating project ':app'.

Error: NDK integration is deprecated in the current plugin. Consider trying the new experimental plugin. For details, see http://tools.android.com/tech-docs/new-build-system/gradle-experimental.Set "android.useDeprecatedNdk=true" in gradle.properties to continue using the current NDK integration.

提示已经告诉我们需要在gradle.properties设置android.useDeprecatedNdk=true,设置好后点击同步按钮。
2016-03-28_23-24-02.png

大功告成

2016-03-28_23-36-28.png

存在疑问

  • 以前我们开发JNI的时候都需要一个Application.mk和Android.mk这两个文件的,没有这两个文件了怎么配置编译相关的参数呢?
    打开build.gradle,按下Cmd键并将鼠标移到moduleName,停留片刻可以看到NdkOptions,点击过去看看估计你就明白一个所以然了。
    2016-03-29_11-25-10.png
    public class NdkOptions implements CoreNdkOptionsSerializable {private static final long serialVersionUID = 1L;private String moduleName;private String cFlags;private List<String> ldLibs;private Set<String> abiFilters;private String stl;private Integer jobs;
    看了这段代码,我们就明白怎么配置ndk了,例如: 
    ndk {moduleName "hello_jni"stl "stlport_static"ldLibs =["log"]
    }

     

  • javah产生的函数名不能直视,能用自定义函数名吗?
    Java_com_test_jcit_helloworld_MainActivity_helloJni
    这样的命名看着真是很不爽,对于我这种有强迫症的人来说绝对是不允许的,从代码规范的角度来说也是不允许的。下面我就教大家一招怎么自定义函数名。
    当我们调用System.loadLibrary("hello_jni")都会调用JNI_OnLoad函数通知我们。
    jint JNI_OnLoad(JavaVM* vm, void* reserved) {   // **System.loadLibrary("hello_jni")**时调用//  RegisterNatives注册本地方法
    }

    OK,接下来我们改造一下hello_jni,首先需要定义一个本地方法和JAVA本地方法的对应关系表。

    static JNINativeMethod hello_jni_methods[] = {{"helloJni""()Ljava/lang/String;", (void*)helloJni},    // 第一个是JAVA里面的方法名,第二个是签名, 第三是函数指针{"addCalc""(II)I", (void*)addCalc}
    };

     签名看着也是怪怪的,可以通过官网了解其含义,或者先通过javah产生头文件,在每个函数说明部分都有签名的定义。

    /*
    * Class:     com_test_jcit_helloworld_MainActivity
    * Method:    addCalc
    * Signature: (II)I
    */
    JNIEXPORT jint JNICALL Java_com_test_jcit_helloworld_MainActivity_addCalc(JNIEnv *, jclass, jint, jint);

     

 

下面把几个关键部分完整的代码和配置贴上,希望对你学习本教程有所帮助。
hellojni.c

#include "hellojni.h"
#include <stdlib.h>
#include <android/log.h>#define TAG "HELLO_JNI"
#define LOGE(...) __android_log_print(ANDROID_LOG_ERROR , TAG, __VA_ARGS__)
#define METHOD_COUNT(x) ((int) (sizeof(x) / sizeof((x)[0])))JNIEXPORT jstring JNICALL helloJni(JNIEnv *env, jclass jobj) {return (*env)->NewStringUTF(env,"Hello JNI!");
}JNIEXPORT jint JNICALL addCalc(JNIEnv *env, jclass jobj, jint ja, jint jb) {return ja + jb;
}static JNINativeMethod hello_jni_methods[] = {{"helloJni""()Ljava/lang/String;", (void*)helloJni}{"addCalc""(II)I", (void*)addCalc}
};static const char *HELLO_JNI_CLASS_PATH_NAME = "com/test/jcit/helloworld/MainActivity";jint JNI_OnLoad(JavaVM* vm, void* reserved) {JNIEnv* env = NULL;jclass clazz;// 获取JNI环境对象if ((*vm)->GetEnv(vm, (void**) &env, JNI_VERSION_1_4) != JNI_OK) {LOGE("ERROR: GetEnv failed\n");return JNI_ERR;}// 寻找目标类clazz = (*env)->FindClass(env, HELLO_JNI_CLASS_PATH_NAME);if (clazz == NULL) {LOGE("Native registration unable to find class '%s'", HELLO_JNI_CLASS_PATH_NAME);return JNI_ERR;}// 注册本地native方法if((*env)->RegisterNatives(env, clazz, hello_jni_methods, METHOD_COUNT(hello_jni_methods)) < 0) {LOGE("ERROR: MediaPlayer native registration failed\n");return JNI_ERR;}// 成功返回版本号return JNI_VERSION_1_4;
}

MainActivity.java 

package com.test.jcit.helloworld;import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.widget.TextView;public class MainActivity extends ActionBarActivity {public static native String helloJni();public static native int addCalc(int a, int b);static {System.loadLibrary("hello_jni");}protected TextView mHelloWorldTV;protected TextView mCalcResultTV;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);mHelloWorldTV = (TextView) findViewById(R.id.HelloWorldTV);mHelloWorldTV.setText(helloJni());mCalcResultTV = (TextView) findViewById(R.id.CalcResultTV);Integer addResult = new Integer(addCalc(1213));mCalcResultTV.setText(addResult.toString());}
}

activity_main.xml 

<?xml version="1.0" encoding="utf-8"?><LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"android:paddingBottom="@dimen/activity_vertical_margin"tools:context="com.test.jcit.helloworld.MainActivity"android:orientation="vertical"><ImageViewandroid:src="@drawable/logo"android:layout_width="wrap_content"android:layout_height="wrap_content" /><TextViewandroid:id="@+id/HelloWorldTV"android:text=""android:layout_width="wrap_content"android:layout_height="wrap_content" /><TextViewandroid:id="@+id/CalcResultTV"android:text=""android:layout_width="wrap_content"android:layout_height="wrap_content" />
</LinearLayout>

/app/build.gradle

apply plugin: 'com.android.application'android {compileSdkVersion 19buildToolsVersion "23.0.3"defaultConfig {applicationId "com.test.jcit.helloworld"minSdkVersion 15targetSdkVersion 19versionCode 1versionName "1.0"ndk {moduleName "hello_jni"stl "stlport_static"ldLibs =["log"]}}buildTypes {release {minifyEnabled falseproguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'}}sourceSets {main {jni.srcDirs = ['src/main/jni']}}
}dependencies {compile fileTree(dir: 'libs', include: ['*.jar'])testCompile 'junit:junit:4.12'compile 'com.android.support:appcompat-v7:19.1.0'
}

gradle.properties

android.useDeprecatedNdk=true

local.properties

注:这个路径要用你本机的路径,贴出来只是告诉需要设置。

ndk.dir=/Users/open-open/Library/Android/ndk
sdk.dir=/Users/open-open/Library/Android/sdk

 

本站原创,转载时保留以下信息:
本文转自:深度开源(open-open.com)
原文地址:http://www.open-open.com/lib/view/open1470560501408.html

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. 4月12日上午学习日志

    2017年4月12日上午复习了高等数学,看完了张宇高等数学基础班课程视频第三讲考研数学视频,继续做相应的单元测试题,第二遍听课过程中能巩固之前所学内容,加深印象,对复习有很大的帮助,完成今天英语单词的学习。 转载于:https://www.cnblogs.com/bgd140206320/p/6701117.ht…...

    2024/4/21 9:06:16
  2. 完整安卓 Android开发视频教程共10季,迅雷快传免费下载

    第1季 -《老罗Android开发视频教程》-android入门介绍-第5集:android使用意图传递数据之全局变量传递.avi 第1季 -《老罗Android开发视频教程》-android入门介绍-第6集:android使用意图传递数据之剪切板传递.avi 第1季 -《老罗Android开发视频教程》-android入门介绍-第7集:…...

    2024/5/6 0:07:57
  3. 大学总结以及考研记录

    文章目录开场白大学总结暑假学习生活计算机专业考研记录2019/12/26 确定考研2020/01/16 挑选院校2020/01/22 博客搭建2020/04/08 步入正轨 开场白 写于2020年1月16日,后续更新。本人四川大学计算机学院大三在读,技术届的小白,希望写文章可以边学习边成长。读过很多成功学长的…...

    2024/4/21 9:06:14
  4. Android 音乐播放器的开发教程(一) ----- 小达

    Android小卷毛音乐播放器开发教程(一) 前言:2014年12月5号的时候,刚加入学校里的团队不久,组长会给新人发布任务,让我们在做项目的过程中能快速的熟悉android的各项基本知识。第一次的任务就是做一个android的音乐播放器。当时拿到任务的时候也是愣了≡ ̄﹏ ̄≡,什么都不…...

    2024/5/5 20:46:22
  5. 傻瓜式Android APP开发入门教程

    这篇文章主要介绍了Android APP开发入门教程,从SDK下载、开发环境搭建、代码编写、APP打包等步骤一一讲解,非常简明的一个Android APP开发入门教程,android各种机子和rom的问题很多,第一个android程序HelloAndroid一、准备工作下载安装JDK和Android SDK,假如你没有现成的I…...

    2024/5/5 22:50:47
  6. 记:考研一战

    不知道,怎么划分阶段,这里只是记录一下我自己的经历,自己遇到的坑,自己的解决方法,等。希望可以给大家一点帮助。先报一下,211考985,失败了。 使用的资料如下: 政治:徐涛的全套视频,肖秀荣的1000题。4套卷,8套卷。小黄书。 英语:近10年真题。韦林的单词课,词组课,…...

    2024/4/21 9:06:11
  7. Android studio离线安装教程

    对于android开发来着,android studio下载安装本来是很正常的事情,但是总有些时候,需要在没有网的情况第一次使用android studio,我也是深受苦恼了两次之后才把这个东西整理出来,希望稍微有点帮助 一、拷贝压缩文件,对了还有一个模拟器的安装包:夜神,海马都可以 …...

    2024/4/21 9:06:10
  8. 华东师范计算机专硕考研经验

    考研经验 除了政治和数学其他的考的都还不错,所以觉得写一下还是比较有意义的。 最重要的我觉得是不要买太多书!!买多了就是浪费钱!! 另外每个人有每个人的学习方法,还是应该多看别人的经验自己总结。 政治推荐书目:核心考案(徐涛)、优题库(徐涛)、肖八肖四、最后2…...

    2024/4/21 9:06:09
  9. Android基础入门教程——2.2.4 FrameLayout(帧布局)

    Android基础入门教程——2.2.4 FrameLayout(帧布局)标签(空格分隔): Android基础入门教程本节引言:FrameLayout(帧布局)可以说是六大布局中最为简单的一个布局,这个布局直接在屏幕上开辟出 一块空白的区域,当我们往里面添加控件的时候,会默认把他们放到这块区域的左上角,而…...

    2024/4/21 9:06:09
  10. 2020成电计算机考研

    ps:简单的记录一下自己的考研之路,希望对后来者有所帮助 决定考研 从大三以来自己就已经决定考研了,但是因为自身的原因和整个学校的氛围,其实刚开始对于考研复习这件事不是很重视,从3月份回校以来,有时间的话就回去看看数学,背一背单词什么的,整个进行的零零散散,没有…...

    2024/4/21 9:06:07
  11. 讲给Android程序员看的前端和后台教程

    自定义View系列教程00–推翻自己和过往,重学自定义View 自定义View系列教程01–常用工具介绍 自定义View系列教程02–onMeasure源码详尽分析 自定义View系列教程03–onLayout源码详尽分析 自定义View系列教程04–Draw源码分析及其实践 自定义View系列教程05–示例分析 自定义V…...

    2024/5/5 17:18:13
  12. 4月11日下午学习日志

    2017年4月11日下午复习了高等数学,看完了张宇高等数学基础班课程视频第三讲考研数学视频,继续做相应的单元测试题,第二遍听课过程中能巩固之前所学内容,加深印象,对复习有很大的帮助,完成英语单词的背诵。 转载于:https://www.cnblogs.com/bgd140206320/p/6694649.html...

    2024/5/6 0:43:03
  13. 杭电考研经验贴———报考计算机专业,慎重!!!

    杭电计算机硕士好考吗?从前我不信,现在我信了!!!这是一个坑。。。杭电属于双非院校,充其量就是个普通重点大学,考研相比于985/211是不是好考一些。作为一名二本院校的学生,考杭电实在是太理想了!事实真的如此吗?!用数据说话,首先让我们来看一看去年的计算机学科排名…...

    2024/4/20 18:17:19
  14. 计算机组成原理学习(哈工大视频)第一章

    1.1计算机系统简介 计算机系统:由硬件(计算机的实体,如主机、外设等)和软件(具有各种功能的信息既程序组成)。 软件:系统软件(用来管理整个计算机系统:语言处理程序,操作系统,服务性程序,数据库管理系统,网络软件)和应用软件(按任务需要编制而成的各种程序)。 …...

    2024/5/6 2:31:23
  15. Qt5.2 for Android 配置及部署到手机运行

    运行效果如图: 请将网页的缩放率调制100.因为我的图片太大了。你调到200。图片显示不全了。有图有真相,没图没证据。 前言:这个环境是在windows下32位的系统上。软件准备: 1.QT5.2 for android (windows)版。下载地址:https://qt-project.org/downloads 找到看清是wind…...

    2024/5/6 2:29:51
  16. 包含所有的计算机视频教程

    计算机视频教程http://www.study66.cn/soft/show.asp?id=1237北京师范大-多媒体视频http://www.study66.cn/soft/show.asp?id=1240北京理工大学 编译原理串讲http://www.study66.cn/soft/show.asp?id=1241北京大学计算机网络视频教程http://www.study66.cn/soft/show.asp?i…...

    2024/4/21 9:06:05
  17. Android studio 2.0 初级教程(一)

    Android studio终于到了2.0的时代,之前的版本一直想尝试去用,结果IDE各种水土不服。不想花精力去看。 最近发现好像情况好很多了。所以写一下学习笔记,顺便翻译一些google 开发者关于android studio的说明。1. 安装具体就不说了,只能说,最好翻个墙,VPN什么的,安装期间下…...

    2024/4/21 9:06:04
  18. 2019哈工程软件工程考研总结

    这是我一战失利后写的总结,答应过自己要考上研究生的,没有让自己失望。 https://blog.csdn.net/HLK_1135/article/details/78900604 同路人QQ答疑群:979552163从拟录取名单的公布到现在,快一个月了,因为家里出了一点事,这段时间一直在医院陪床。文章在医院时写过一些,删…...

    2024/4/21 9:06:04
  19. Android开发视频教程大总结—23部视频教程

    本文由安卓航班网整理,转载请注明!1.《腾讯微博Android客户端开发课程》2.《新浪微博Android客户端项目视频》3.《Android开发从零开始视频教程》4.《传智播客android系统开发全程实战课程》5.《魔乐MLDN 李兴华教你Android开发实战》6.《创新办公室Android全程教学视频PPT》…...

    2024/4/23 15:52:01
  20. Mars-Android开发视频教程(全集)

    Mars-Android开发视频教程(第一季) 链接:http://download.csdn.net/detail/tuzki_520/7864605Mars-Android开发视频教程(第二季) 链接:http://download.csdn.net/detail/tuzki_520/7868569Mars-Android开发视频教程(第三季) 链接:http://download.csdn.net/detail/tuzki_520…...

    2024/5/3 17:18:50

最新文章

  1. workminer之dht通信部分

    workminer是通过SSH爆破传播的挖矿木马&#xff0c;感染后会释放xmrig挖矿程序利用主机的CPU挖取北方门罗币。该样本能够执行特定的指令&#xff0c;指令保存在一个配置文件config中&#xff0c;config文件类似于xml文件&#xff0c;里面有要执行的指令和参数&#xff0c;样本中…...

    2024/5/6 4:06:36
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. JSON格式转换

    文章目录 1. JSON 格式2. 细节 1. JSON 格式 实体类格式&#xff1a; public class Student {public string name {get; set;}public int age {get; set;} } public class Classs {public string teacher {get; set;}public List<Student> students {get; set;} }JSON格…...

    2024/5/3 2:18:04
  4. Unity核心学习

    目录 认识模型的制作流程模型的制作过程 2D相关图片导入设置图片导入概述纹理类型设置纹理形状设置纹理高级设置纹理平铺拉伸设置纹理平台打包相关设置 SpriteSprite Editor——Single图片编辑Sprite Editor——Multiple图片编辑Sprite Editor——Polygon图片编辑SpriteRendere…...

    2024/5/5 8:40:53
  5. DDIM,多样性与运行效率之间的trade off

    DDPM的重大缺陷在于其在反向扩散的过程中需要逐步从 x t x_t xt​倒推到 x 0 x_0 x0​&#xff0c;因此其推理速度非常缓慢。相反&#xff0c;DDPM的训练过程是很快的&#xff0c;可以直接根据 x 0 x_0 x0​到 x t x_t xt​添加的高斯噪声 ϵ \epsilon ϵ完成一次训练。 为了解…...

    2024/5/5 8:46:20
  6. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/5/4 23:54:56
  7. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/5/4 23:54:56
  8. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/5/4 23:54:56
  9. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/5/4 23:55:17
  10. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/5/4 23:54:56
  11. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/5/4 23:55:05
  12. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/5/4 23:54:56
  13. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/5/4 23:55:16
  14. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/5/4 23:54:56
  15. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/5/6 1:40:42
  16. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/5/4 23:54:56
  17. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/5/4 23:55:17
  18. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/5/4 23:55:06
  19. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/5/4 23:54:56
  20. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/5/4 23:55:06
  21. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/5/5 8:13:33
  22. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/5/4 23:55:16
  23. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/5/4 23:54:58
  24. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/5/4 23:55:01
  25. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/5/4 23:54:56
  26. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  27. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  28. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  29. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  30. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  31. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  32. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  33. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  34. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  35. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  36. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  37. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  38. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  39. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  40. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  41. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  42. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  43. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  44. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  45. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57