小编cec*_*n89的帖子

JNI proguard混淆

我有混淆的问题.为了更好的想象力:

JAVA CODE

class JniTest...

public void test()
{
    //some code
}

public void runJniCode()
{
    //here I call native code
}
Run Code Online (Sandbox Code Playgroud)

本地代码

JNIEXPORT void JNICALL
Java_path_to_class_test(JNIEnv* env, jobject  obj)
{
    //here I call test method from Java

}
Run Code Online (Sandbox Code Playgroud)

一切正常,直到我想发布一个混淆版本.此类中的Java类(JniTest例如)和方法test的名称由proguard重命名为"a"和"a()"(这可能并不总是相同),但在本机代码中,方法和类的原始名称保持,因为它被硬编码为字符串,如:

jmethodID mid = env->GetMethodID(cls, "test", "someSignature");
Run Code Online (Sandbox Code Playgroud)

...有没有办法动态设置方法名称?

obfuscation java-native-interface android native

6
推荐指数
2
解决办法
6130
查看次数

Android 4.2.2来电广播

我们在最新的Android Android 4.2.2上遇到呼叫广播的问题.

我们正在开发应用程序,它应该静音一些联系人.它在旧系统上运行良好,但在OS 4.2.2上,设备响铃约1-2秒,直到我们能够将其静音.

仅当设备处于睡眠模式(屏幕关闭)时才会发生这种情况.这个系统的广播是否以某种方式延迟?有没有人遇到类似的问题呢?谢谢你的回复.

编辑:经过一些实验(在Nexus 4上),我们发现了这一点:当我们关闭Wi-Fi时,问题就会消失,因此当从睡眠中再次开启时,Wi-Fi可能会使用太多的CPU时间(这是唯一的假设).而其他人认为我们发现:它发生了4次尝试中的3次.

android broadcast call

5
推荐指数
1
解决办法
478
查看次数