小编Mor*_*oro的帖子

通过launchd.conf设置环境变量不再适用于OS X Yosemite/El Capitan/macOS Sierra/Mojave?

它看起来好像launchd.conf不再加载我的环境变量了.还有其他人注意到了吗?

还有另一种永久设置环境变量的解决方案吗?

environment-variables osx-yosemite osx-elcapitan

185
推荐指数
5
解决办法
11万
查看次数

V8独立应用仅在发布签名的APK时死于SIGILL

我正在使用使用Android NDK嵌入到C ++应用程序中的v8。它在许多设备上均可正常运行,但使用带有签名的APK(Android 4.0.4)在Samsung Galaxy Tab 10.1上崩溃。奇怪的是,调试签名的apk在Galaxy Tab 10.1上完美运行。我已经在两个调试/发布apk中检查了.so库,并且两者都相等,md5相同。

我创建了一个最小的测试案例来重现该问题。我已经测试了许多v8版本(3.22、3.23、3.26等),许多编译标志(armeabi,armeabi-v7a,-mfpu = vfpv3-d16等),启用或禁用了v8快照,但是崩溃仍然存在尚存版本中已签名的apk。

如果两个本地.so库都相等,到底是什么引起了调试和发布签名的APK之间的差异?有任何解决此崩溃的方法吗?

这是测试用例的main.cpp

#include "v8.h"
#include <jni.h>
#include <android/log.h>

#define LOGE(...) __android_log_print(ANDROID_LOG_ERROR  , "Paradox",__VA_ARGS__)

using namespace v8;

namespace {

    void testContext()
    {
        LOGE("Hellooo!!!");
        v8::Isolate* isolate = v8::Isolate::GetCurrent();
        v8::Locker v8Lock(isolate);
        v8::Isolate::Scope isolateScope(isolate);
        v8::HandleScope handle_scope(isolate);

        Handle<ObjectTemplate> global_templ = ObjectTemplate::New();

        LOGE("Creating V8 Context...");
        //crashes while creating this context
        v8::Handle<v8::Context> context = v8::Context::New(isolate, 0, global_templ);
        LOGE("Created V8 Context");
        v8::Context::Scope context_scope(context); 

        v8::Local<v8::String> source = v8::String::NewFromUtf8(isolate, "'Hello' + ', World! ' + Math.PI");
        v8::Local<v8::Script> script …
Run Code Online (Sandbox Code Playgroud)

c++ android v8 android-ndk

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