相关疑难解决方法(0)

在proguard中,如何保留一组类的方法名称?

我正在使用proguard来混淆我的android应用程序.android应用程序包含一些本机代码,可以对完全限定的java方法进行回调.我不需要混淆这些类及其方法的名称.下面正确地保留了类名,但不保留方法名.

-keep public class com.me.dontobf.*
-keepnames public class com.me.dontobf.*
Run Code Online (Sandbox Code Playgroud)

java android proguard

23
推荐指数
1
解决办法
3万
查看次数

JNI Hello World不满意链接错误

这是我第一次尝试JNI.我的最终目标是让当前在机器上运行的所有任务,但需要运行一个简单的示例.当我尝试执行我的主程序时,我不断收到此错误.我提供了简单的Java主程序,生成的头文件和错误.

我不知道这个DLL可以依赖什么.它最初引用了我追踪并放入system32(msvcr90.dll)的DLL.

这是我用来编译C代码的命令,它生成了DLL,OBJ,LIB,EXP和清单文件.

cl -I"C:\ Program Files\Java\jdk1.6.0\include"-I"C:\ Program Files\Java\jdk1.6.0\include\win32"-MD -LD HelloWorld.c -FeHelloWorld.dll

class HelloWorld {
     private native void print();
     public static void main(String[] args) {
         new HelloWorld().print();
     }
     static {
         System.load("C:\\temp\\HelloWorld.dll");
     }
 }


#include <jni.h>
 #include <stdio.h>
 #include "HelloWorld.h"

 JNIEXPORT void JNICALL 
 Java_HelloWorld_print(JNIEnv *env, jobject obj)
 {
     printf("Hello World!\n");
     return;
 }

/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class HelloWorld */

#ifndef _Included_HelloWorld
#define _Included_HelloWorld
#ifdef __cplusplus
extern "C" { …
Run Code Online (Sandbox Code Playgroud)

java java-native-interface

12
推荐指数
2
解决办法
5万
查看次数

标签 统计

java ×2

android ×1

java-native-interface ×1

proguard ×1