javah未指定类的简单介绍

今天给各位分享javah未指定类的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

1、javac javah不是内部命令2、android studio JNI开发时 编译成功 但是没有生成.so文件 什么原因3、jdk安装后bin目录中为啥没有exe文件

javac javah不是内部命令

这个一般都和path相关。当我们在命令行(linux的shell,windows下的cmd)中输入命令时,shell一般都会去path中寻找相关的命令。我们一般安装完软件后,都将其bin目录配置为系统的path。这样相关的命令行就会识别我们的命令了。linux下先从path中寻找命令文件,如果不存在,再去当前目录中寻找。windows则相反。

android studio JNI开发时 编译成功 但是没有生成.so文件 什么原因

1

在交叉编译的时候怎么都无法生成so文件,javah生成头文件没错,c文件也没错,java文件也没错,

2.原因:是JNI文件夹路径不对

3

在执行javah命令时,我进入的是cd

app/src/main/java

这样jni文件夹在java文件夹下,作为一个包存在,这样就无法生成so文件

执行javah的正确姿势:

4

进入app/src/main目录:cd

app/src/main

执行javah命令:javah

javah

-d

jni

-classpath

./Java

lab.sodino.jnitest.MainActivity

5,

-d

jni

头文件生成到jni文件夹(当前在Project\app\src\main目录下,所以.h所在的目录为Project\app\src\main\jni

-classpath

./java

指定去当前路径下java下寻找包名指定的类

这样再rebuild一下,就会生成so文件了

jdk安装后bin目录中为啥没有exe文件

有的,是不是隐藏扩展名了。

javac:Java编译器,将Java源代码换成字节代

java:Java解释器,直接从类文件执行Java应用程序代码

appletviewer(小程序浏览器):一种执行HTML文件上的Java小程序类的Java浏览器

javadoc:根据Java源代码及其说明语句生成的HTML文档

jdb:Java调试器,可以逐行地执行程序、设置断点和检查变量

javah:产生可以调用Java过程的C过程,或建立能被Java程序调用的C过程的头文件

Javap:Java反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义

jar:多用途的存档及压缩工具,是个java应用程序,可将多个文件合并为单个JAR归档文件。

htmlConverter——命令转换工具。

native2ascii——将含有不是Unicode或Latinl字符的的文件转换为Unicode编码字符的文件。

serialver——返回serialverUID。语法:serialver [show] 命令选项show是用来显示一个简单的界面。输入完整的类名按Enter键或”显示”按钮,可显示serialverUID。

补充详细:

javac.exe

用法:javac 选项 源文件

可能的选项包括:

-g 生成所有调试信息

-g:none 生成无调试信息

-g:{lines,vars,source} 生成只有部分调试信息

-O 优化;可能妨碍调试或者增大类文件

-nowarn 生成无警告

-verbose 输出关于编译器正在做的信息

-deprecation 输出使用了不鼓励使用的API的源程序位置

-classpath 路径 指定用户类文件的位置

-sourcepath 路径 指定输入源文件的位置

-bootclasspath 路径 覆盖自举类文件的位置

-extdirs 目录(多个) 覆盖安装的扩展类的位置

-d 目录 指定输出类文件的位置

-encoding 编码 指定源文件中所用的字符集编码

-target 版本 生成指定虚拟机版本的类文件

-help Print a synopsis of standard options

appletviewer.exe

用法:appletviewer url

其中, 包括:

-debug 在 Java 调试器中启动 applet 小程序查看器

-encoding 指定由 HTML 文件使用的字符编码

-J 向 Java 解释器传递参数

-J 选项不是标准选项,如有更改,不另行通知。

====================

jar.exe

用法:jar {ctxu}[vfm0M] [jar-文件] [manifest-文件] [-C 目录] 文件名 …

选项:

-c 创建新的存档

-t 列出存档内容的列表

-x 展开存档中的命名的(或所有的〕文件

-u 更新已存在的存档

-v 生成详细输出到标准输出上

-f 指定存档文件名

-m 包含来自标明文件的标明信息

-0 只存储方式;未用ZIP压缩格式

-M 不产生所有项的清单(manifest〕文件

-i 为指定的jar文件产生索引信息

-C 改变到指定的目录,并且包含下列文件:

如果一个文件名是一个目录,它将被递归处理。

清单(manifest〕文件名和存档文件名都需要被指定,按’m’ 和 ‘f’标志指定的相同顺序。

示例1:将两个class文件存档到一个名为 ‘classes.jar’ 的存档文件中:

jar cvf classes.jar Foo.class Bar.class

示例2:用一个存在的清单(manifest)文件 ‘mymanifest’ 将 foo/ 目录下的所有

文件存档到一个名为 ‘classes.jar’ 的存档文件中:

jar cvfm classes.jar mymanifest -C foo/ .

javadoc.exe

用法:javadoc [options] [packagenames] [sourcefiles] [classnames] [@files]

-overview 读取 HTML 格式的概述文档

-public 仅显示 public 类和成员

-protected 显示 protected/public 类和成员(缺省)

-package 显示 package/protected/public 类和成员

-private 显示所有类和成员

-help 显示命令行选项

-doclet 通过候选 doclet 生成输出

-docletpath 指定 doclet 类文件的查找位置

-sourcepath 指定源文件的查找位置

-classpath 指定用户类文件的查找位置

-exclude Specify a list of packages to exclude

-subpackages Specify subpackages to recursively load

-breakiterator Compute 1st sentence with BreakIterator

-bootclasspath 覆盖自举类加载器所加载的类文件的位置

-source Provide source compatibility with specified release

-extdirs 覆盖已安装的扩展的位置

-verbose 有关 Javadoc 所做工作的输出信息

-locale 所用的 Locale,例如 en_US 或 en_US_WIN

-encoding 源文件编码名称

-J 将 直接传给运行时系统

由标准 doclet 提供:

-d 输出文件的目标目录

-use 创建类和包的用法页

-version 包含 @version 段

-author 包含 @author 段

-docfilessubdirs Recursively copy doc-file subdirectories

-splitindex 将索引分为每个字母对应一个文件

-windowtitle 文档的浏览器窗口标题

-doctitle 包含包索引页(首页)的标题

-header 包含每一页的页眉文本

-footer 包含每一页的页脚文本

-bottom 包含每一页的页底文本

-link Create links to javadoc output at

-linkoffline Link to docs at using package list at

-excludedocfilessubdir :.. Exclude any doc-files subdirectories with given name.

-group :.. Group specified packages together in overview page

-nocomment Supress description and tags, generate only declarations.

-nodeprecated 不包含 @deprecated 信息

-noqualifier ::… Exclude the list of qualifiers from the output.

-nosince Do not include @since information

-nodeprecatedlist 不生成不鼓励使用的列表

-notree 不生成类层次

-noindex 不生成索引

-nohelp 不生成帮助链接

-nonavbar 不生成导航栏

-quiet Do not display status messages to screen

-serialwarn Generate warning about @serial tag

-tag :: Specify single argument custom tags

-taglet The fully qualified name of Taglet to register

-tagletpath The path to Taglets

-charset Charset for cross-platform viewing of generated documentation.

-helpfile 包含帮助链接功能链接到目标的文件

-linksource Generate source in HTML

-stylesheetfile 改变所生成文档的样式的文件

-docencoding 输出编码名称

javah.exe

用法:javah [options]

其中 [options] 包括:

-help 打印该帮助信息

-classpath 类的加载路径

-bootclasspath 自举类的加载路径

-d 输出目录

-o 输出文件(仅能使用 -d 或 -o 之一)

-jni 生成 JNI 风格的头文件(缺省)

-old 生成 JDK1.0 风格的头文件

-stubs 生成 stubs 文件

-version 打印版本信息

-verbose 输出有关本命令所做工作的信息

-force 始终写输出文件

指定 时必须使用全名(例如 java.lang.Object)。

javaw.exe

====================

HtmlConverter.exe

用法:HtmlConverter [-option1 value1 [-option2 value2 […]]] [-simulate] [filespecs]

其中,选项包括:

-source: 获取源文件的路径。 缺省值:

-dest: 写入已转换文件的路径。 缺省值:

-backup: 写备份文件的路径。 缺省值: _BAK

-f: 强制覆写备份文件。

-subdirs: 应处理子目录中的文件。

-template: 模板文件的路径。 如果不确定,请使用缺省值。

-log: 写日志的路径。 如果没有提供,则不会写入任何日志。

-progress: 转换时显示进度。 缺省值: true

-simulate: 在没有进行转换时显示特定于转换的信息。

-latest: 使用最新的 JRE 支持发行版 mimetype。

-gui: 显示转换程序的图形用户界面。

filespecs: 用空格分开的文件说明列表。 缺省值: “*.html *.htm” (需要引号)

orbd.exe

用法:orbd 选项

其中,选项 包括:

-port 启动 ORBD 的激活端口,缺省值为 1049 (可选)

-defaultdb ORBD 文件的目录,缺省值为 “./orb.db” (可选)

-serverid ORBD 的服务器标识符,缺省值为 1 (可选)

-ORBInitialPort 初始端口(必需)

-ORBInitialHost 初始主机名称(必需)

====================

policytool.exe

用法:policytool [选项]

[-file ] 规则文件位置

====================

rmic.exe

用法:rmic 选项 类名

其中 选项 包括:

-keep 不删除中间生成的源文件

-keepgenerated (同 “-keep”)

-v1.1 为 1.1 stub 协议版本创建 stubs/skeleton

-vcompat (缺省)创建与 1.1 和

1.2 stub 协议版本兼容的 stubs/skeleton

-v1.2 仅为 1.2 stub 协议版本创建 stubs

-iiop 为 IIOP 创建 stubs。当使用该选项时,选项还应包括:

-always 总创建 stubs (即使在它们同时出现时〕

-alwaysgenerate (同 “-always”)

-nolocalstubs 不创建为同一进程优化的 stubs

-idl 创建 IDL。当使用该选项时,选项还应包括:

-noValueMethods 不生成值类型的方法

-always 总创建 IDL (即使在它们同时出现时〕

-alwaysgenerate (同 “-always”)

-g 一般调试信息

-depend 以递归方式重编译过期的文件

-nowarn 不警告

-nowrite 不将编译过的类写入到文件系统

-verbose 输出有关编译器所做工作的信息

-classpath 指定输入源和类文件的查找位置

-sourcepath 指定用户源文件的查找位置

-bootclasspath 覆盖自举类文件的位置

-extdirs 覆盖安装扩展类的位置

-d 指定所生成类文件的放置位置

-J 将参数传给 java 解释程序

====================

rmid.exe

用法:rmid

其中, 包括:

-port 指定供 rmid 使用的端口

-log 指定 rmid 将日志写入的目录

-stop 停止当前的 rmid 调用(对指定端口)

-C 向每个子进程传递参数(激活组)

-J 向 java 解释程序传递参数

====================

rmiregistry.exe

用法: rmiregistry 选项 端口

其中,选项 包括:

-J 将参数传递到 java 解释程序

====================

serialver.exe

用法:serialver [-classpath classpath] [-show] [classname…]

====================

servertool.exe

欢迎使用 Java IDL 服务器工具

请在提示处输入命令

servertool help

可用命令:

——————-

register – 注册一个可激活的服务器

unregister – 取消服务器注册

getserverid – 返回应用程序名称的服务器标识符

list – 列举所有已注册服务器

listappnames – 列举当前定义的应用程序名称

listactive – 列举当前活动的服务器

locate – 将已注册服务器定位在特定类型的端口

locateperorb – 为已注册服务器的特定对象请求代理程序定位端口。

orblist – 对象请求代理程序 (orb) 名称及其映射列表

shutdown – 关闭一个已注册服务器

startup – 启动一个已注册服务器

help – 取得帮助

quit – 退出此工具

====================

rmic

功能说明:

rmic 为远程对象生成 stub 和 skeleton。

语法:

rmic [ options ] package-qualified-class-name(s)

补充说明:

rmic 编译器根据编译后的 Java 类(含有远程对象实现)名,为远程对象生成 stub 和 skeleton(远程对象是指实现 java.rmi.Remote 接口的对象)。在 rmic 命令中所给的类必须是经 javac 命令成功编译且是完全包限定的类。

命令选项

-classpath[路径] 指定 rmic 用于查询类的路径。如果设置了该选项,它将覆盖缺省值或 CLASSPATH 环境变量。目录用冒号分隔。

-d[目录] 指定类层次的根目录。此选项可用来指定 stub 和 skeleton 文件的目标目录。

-depend 使编译器考虑重新编译从其它类引用的类。 一般来说,它只重新编译从源代码引用的遗漏或过期的类。

-g 允许生成调试表格。调试表格含有行号和局部变量的有关信息,即 Java 调试工具所使用的信息。缺省情况下,只生成行号。

-J 与 -D 选项联用,它将紧跟其后的选项( -J 与 -D 之间无空格)传给 java 解释器。

-keepgenerated 为 stub 和 skeleton 文件保留所生成的 .java 源文件,并将这些源文件写到与 .class 文件相同的目录中,如果要指定目录,则使用 -d 选项。

-nowarn 关闭警告。如果使用该选项,则编译器不输出任何警告信息。

-show 显示 rmic 编译器的 GUI(图形用户界面)。输入一个或多个包限定类名(以空格分隔),并按回车键或“显示”按钮,创建 stub 和 skeleton。

-vcompat (缺省值)创建与 JDK 1.1 和 1.2 stub 协议版本都兼容的 stub 和 skeleton。

-verbose 使编译器和链接器输出关于正在编译哪些类和正在加载哪些类文件的信息。

-v1.1 创建 JDK 1.1 stub 协议版本的 stub 和 skeleton。

-v1.2 只创建 JDK 1.2 stub 协议版本的 stub。

=================================

rmid

功能说明:

rmid 启动激活系统守护进程,以便能够在 Java 虚拟机上注册和激活对象。

语法:

rmid [-port port] [-log dir]

补充说明:

rmid 工具启动激活系统守护进程。必须先启动激活系统守护进程,才能向激活系统注册可被激活的对象或在 Java 虚拟机上激活可被激活的对象。

命令选项

-C某些命令行选项 指定一个选项,在创建每个 rmid 的子守护进程(激活组)时,该选项以命令行参数的形式传给该子守护进程。

-log[目录] 指定目录的名称,激活系统守护进程在该目录中写入其数据库及相关信息。缺省状态下,将在执行 rmid 命令的目录中创建一个 log 目录。

-port[端口] 指定 rmid 的注册服务程序所使用的端口。激活系统守护进程将 ActivationSystem 与该注册服务程序中的名称java.rmi.activation.ActivationSystem 捆绑在一起。

-stop 停止 -port 选项所指定端口上的当前 rmid 调用。若未指定端口,则将停止在端口 1098 上运行的 rmid。

=============================

rmiregistry

功能说明:

rmiregistry 命令可在当前主机的指定端口上启动远程对象注册服务程序。

语法:

rmiregistry [port]

补充说明:

rmiregistry 命令在当前主机的指定 port 上创建并启动远程对象注册服务程序。如果省略 port,则注册服务程序将在 1099 端口上启动。rmiregistry 命令不产生任何输出而且一般在后台运行。远程对象注册服务程序是自举命名服务。主机上的 RMI 服务器将利用它将远程对象绑定到名字上。客户机即可查询远程对象并进行远程方法调用。注册服务程序一般用于定位应用程序需调用其方法的第一个远程对象。该对象反过来对各应用程序提供相应的支持,用于查找其它对象。java.rmi.registry.LocateRegistry 类的方法可用于在某台主机或主机和端口上获取注册服务程序操作。java.rmi.Naming 类的基于 URL 的方法将对注册服务程序进行操作,并可用于查询远程对象、将简单(字符串)名称绑定到远程对象、将新名称重新绑定到远程对象(覆盖旧绑定)、取消远程对象的绑定以及列出绑定在注册服务程序上的 URL。

=============================

serialver

功能说明:

serialver 命令返回 serialVersionUID。

语法:

serialver [ 命令选项 ]

补充说明:

serialver 以适于复制到演变类的形式返回一个或多个类的 serialVersionUID。不带参数调用时,它输出用法行。

命令选项

-show 显示一个简单的用户界面。输入完整的类名并按回车键或“显示”按钮可显示 serialVersionUID。

================================

jarsigner

功能说明:

为 Java 归档 (JAR) 文件产生签名,并校验已签名的 JAR 文件的签名。

语法:

jarsigner [ 命令选项 ] jar-file alias

jarsigner -verify [ 命令选项 ] jar-file

补充说明:

jarsigner 工具用于两个目的:

1:为 Java 归档 (JAR) 文件签名

2:校验已签名的 JAR 文件的签名和完整性

命令选项

-keystore[url] 指定密钥仓库的 URL。缺省值是用户的宿主目录中的 .keystore 文件,它由系统属性“user.home”决定。

-storetype[storetype] 指定要被实例化的密钥仓库类型。默认的密钥仓库类型是安全属性文件中 “keystore.type” 属性值所指定的那个类型,由 java.security.KeyStore 中的静态方法 getDefaultType 返回。

-storepass[password] 指定访问密钥仓库所需的口令。这仅在签名(不是校验)JAR 文件时需要。在这种情况下,如果命令行中没有提供 -storepass 选项,用户将被提示输入口令。

-keypass[password] 指定用于保护密钥仓库项(由命令行中指定的别名标出)的私钥的口令。使用 jarsigner 为 JAR 文件签名时需要该口令。如果命令行中没有提供口令,且所需的口令与密钥仓库的口令不同,则将提示用户输入它。

-sigfile[file] 指定用于生成 .SF 和 .DSA 文件的基本文件名。

-signedjar[file] 指定用于已签名的 JAR 文件的名称。

-verify 如果它出现在命令行中,则指定的 JAR 文件将被校验,而不是签名。如果校验成功,将显示“jar verified”。如果试图校验未签名的 JAR 文件,或校验被不支持的算法(例如未安装 RSA 提供者时使用的 RSA)签名的 JAR 文件,则将有如下显示: “jar is unsigned. (signatures missing or not parsable)” 。

-certs 如果它与 -verify 和 -verbose 选项一起出现在命令行中,则输出将包括 JAR 文件的每个签名人的证书信息。

-verbose 如果它出现在命令行中,则代表“verbose”模式,它使 jarsigner 在 JAR 签名或校验过程中输出额外信息。

-internalsf 过去,JAR 文件被签名时产生的 .DSA(签名块)文件包含一个同时产生的 .SF 文件(签名文件)的完整编码副本。这种做法已被更改。为了减小输出 JAR 文件的整个大小,缺省情况下 .DSA 文件不再包含 .SF 文件的副本。但是如果 -internalsf 出现在命令行中,将采用旧的做法。该选项主要在测试时有用;实际上不应使用它,因为这样将消除有用的优化。

-sectionsonly 如果它出现在命令行中,则 JAR 文件被签名时生成的 .SF 文件(签名文件)将不包括含有整个清单文件的散列的头。它仅包含 与 JAR 中每个单独的源文件相关的信息和散列。该选项主要在测试时有用;实际上不应使用它,因为这样将消除有用的优化。

-J[javaoption] 将指定的 javaoption 串直接传递到 Java 解释器。((jarsigner 实际上是解释器的一个 “wrapper”)。

javah未指定类的简单介绍

关于javah未指定类和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

本文来自投稿,不代表【】观点,发布者:【

本文地址: ,如若转载,请注明出处!

举报投诉邮箱:253000106@qq.com

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2024年3月30日 15:40:34
下一篇 2024年3月30日 15:49:51

相关推荐

  • c语言mallloc使用的简单介绍

    C语言中使用malloc必须加#includemallo.h? 1、在C语言中使用malloc函数进行动态内存分配。malloc的全称是memory allocation,中文叫动态内存分配。原型:extern void malloc(unsigned int num_bytes);功能:分配长度为num_bytes字节的内存块。 2、你可以看一下C语言那本…

    2024年5月23日
    4500
  • javascriptcanvas的简单介绍

    如何使用js在画布上绘制图形 1、可以使用 drawImage()方法把一幅图像绘制到画布上。 以使用三种不同的参数组合。最简单的调用方式是传入一个 HTML 元素,以及绘制该图像的起点的 x 和 y 坐标。 2、效果图:使用JavaScript在画布中绘制文本图形首先我们来看看要在画布上绘制文本图形,需要用到的最重要的属性和方法:font属性:定义文本的字…

    2024年5月23日
    4200
  • cortexm4linux的简单介绍

    Cortex-M4的主要功能 Cortex-M4提供了无可比拟的功能,以将[1] 32位控制与领先的数字信号处理技术集成来满足需要很高能效级别的市场。 Cortex-M4核心具有浮点单元(FPU)单精度,支持所有Arm单精度数据处理指令和数据类型。它还实现了一套完整的DSP指令和一个提高应用程序安全性的内存保护单元(MPU)。 主要是m4比m3多了dsp的支…

    2024年5月23日
    4400
  • 3desjavaphp的简单介绍

    php的3des加密结果与java不一致 他们的加密算法都是通用的,是可以解开的,只要你des的模式,加密长度,初始向量什么的都一样就可以。 JAVA写RSA加密,私钥都是一样的,公钥每次加密的结果不一样跟对数据的padding(填充)有关。Padding(填充)属性定义元素边框与元素内容之间的空间。padding简写属性在一个声明中设置所有内边距属性。 要…

    2024年5月23日
    4900
  • 黑客代码软件学习推荐歌曲的简单介绍

    我想自学编程代码,,目地是“黑”网站,开发出破解代码。有没有这方面的… 这个迭代周期不应该以周为周期或以月为周期发生,而是应该以日为周期。知识等待使用的时间越久,知识这把斧头就越钝。等待学习新知识的时间越长,你就越难以将其融入到代码中。 我认为这个问题问得本身就显得有点矛盾,想学却担心自己看不懂代码学不来,试问哪个编程人员不是从零开始的。坚定信念…

    2024年5月23日
    4800
  • java8种基本类型范围的简单介绍

    java中常用的数据类型有哪些 1、java数据类型分为基本数据类型和引用数据类型,基本数据类型有boolean 、long 、int 、char、byte、short、double、float。引用数据类型有类类型、接口类型和数组类型。 2、java中包含的基本数据类型介绍:\x0d\x0aJava共支持8种内置数据类型。内置类型由Java语言预先定义好,…

    2024年5月23日
    4900
  • linux系统与gpt的关系的简单介绍

    linux下查看分区是不是gpt 看分区会报错,比如:WARNING: GPT (GUID Partition Table) detected on /dev/sda! The util fdisk doesnt support GPT. Use GNU Parted.所以这个sda就是gpt的。 选择“管理”;在“磁盘管理”中,右键“磁盘0”,在弹出的右键…

    2024年5月23日
    5400
  • 北京黑客学习培训的简单介绍

    现在学什么好啊 包括建筑设计、服装设计、珠宝首饰设计等,选择适合自己的设计专业,好好学习,就业容易且收入高。学前教育专业:很多女生喜欢小孩子,且女生一般细心且有耐心,教育行业假期宽裕,工作环境单纯,就业机会多。 现在比较热门好就业的专业有人工智能、机械专业、电子商务专业、人力资源专业、金融学专业、小语种类专业等等。人工智能:人工智能领域的研究包括机器人、语言…

    2024年5月23日
    4200
  • javaee要学那些东西的简单介绍

    java主要学习哪些内容 1、学java最重要的是下面四个内容:掌握Java语言的使用:语言语法、程序逻辑,OOP(面向对象)思想,封装、继承、多态,集合框架、泛型、File I\O技术,多线程技术、socket网络编程,XML技术。 2、Java基础:了解Java的基本语法、数据类型、控制流程、数组、字符串等基础概念。学习面向对象编程(OOP)的原则和概念…

    2024年5月23日
    4300
  • excel自杀的简单介绍

    excel表格中宏代码,具有自杀功能,密码输入错误3次就自动删除表格_百度… 我给楼主一个建议,利用excel自身的密码保护,保护此工作簿的结构,将sheet提前隐藏。这样如果有人将同一份excel打开时,如果不能输入正确的密码,就不能将sheet取消隐藏,就能达到楼主所说的保护了。 如果你还有源文件的话,可以这样试试:打开其他的excel文件,…

    2024年5月23日
    8100

发表回复

登录后才能评论



关注微信