Thank you for your notice.

1. First, It is our goal to support arm-v7a, which is removed in NDK 17. There 
is no other way except for using NDK 16 for now. 
2. Weex uses JavaScript Core compiled by GCC as a JS Interpreter. It is 
strongly suggested to use GCC instead of Clang.
3. We will fix the return value issue soon.

> 在 2018年7月14日,17:39,wcxwave <wcxw...@aliyun.com.INVALID> 写道:
> 
> Dear all,
>    in release 0.19-rc2 android project, I find the libweexcore has some 
> problems. 
>   1) First, in the latest ndk 0.16 - 0.17, the android just support clang 
> platform tools.
>    -DANDROID_TOOLCHAIN=clang
>    -DANDROID_STL=c++_static
>    but in the weex-sdk project, it still uses gcc.
>                        -DANDROID_TOOLCHAIN=gcc,
>                        -DANDROID_STL=gnustl_static,
>    I get some bugs such as 'there no memcpy function'.
>  2) Second, After I change it to use clang, there are some warning during the 
> compile.
>      I just ignore it.(but the developer should resolve it. some warning just 
> a bug.)
>     I get the weexcore.so. But it crashes after launch the app.
>     Then I think it maybe my enviroment problems, so I just replace the 
> weexcore.so from the apache github.
>     Unfortunately, there weexcore.so in the github is not matched the source. 
>     It reports there is no native method nativeSetViewPort in WXBridge. I'm  
> depressed for it.
>     Then I just try to solve the crash.
> A/art: art/runtime/check_jni.cc:70] JNI DETECTED ERROR IN APPLICATION: native 
> code passing in reference to invalid local reference: 0x200001
> A/art: art/runtime/check_jni.cc:70]     in call to DeleteLocalRef
>    After some debuging, I find the reason for it.
>    In the jni_load.cc funtion JNI_OnLoad, 
>               the function  WeexCore::RegisterJNIMeasureMode(env); will 
> crash, it will call DeleteLocalRef twice. 
>       After debuging more times and chaning code, I find a problem for the 
> function RegisterJNIMeasureMode.
> 
> the  origin source: 
>   bool RegisterJNIMeasureMode(JNIEnv *env) {  
>      RegisterNativesImpl(env);
>  }
> there is no return value.
> after I change it to the following code,
> bool RegisterJNIMeasureMode(JNIEnv *env) {
>    ///wcheer.com modified by simon add return 2018.7.14
>    return RegisterNativesImpl(env);
>  }
> It can works for the function. but the latter function is crashed again. 
> WeexCore::RegisterWXJsFunction(env); 
> it has the same reason for crashing.
> 
> In the last, I suggest the weex project ndk should use clang toolschain. 
> You can resolve some easy problems and it can save other developer's time and 
> efforts.\
> Thanks.
> 
> Regards Best.
> Simon Wu.
> 2018.7.14
> 
> 
> 
> 

Reply via email to