2016-05-04 163 views
0

我遇到问题。我有一个适用于Android 5的应用程序。& 6.该应用程序具有C++共享lib参考。问题是:当我编译并汇编到.apk而没有选择我的4.0.3设备作为执行目标时,安装它后s failing in my native code. But when I m试图通过调试解决这个问题一切正常。 Android Studio是否可能添加一些额外的参数来构建配置,而不会运行该应用程序。 谢谢。Android Studio NDK问题

+0

为平台-21编译的本机代码无法在平台-15上运行,这是非常正常的。使用NDK,没有前向兼容性,但是具有相当高的后向兼容性。因此,如果您为platform-15构建,您的应用仍然可以在Android 5上运行,并且您可以使用'targetSdkVersion 23'。你需要在** android.ndk {}'**里面设置'platformVersion 15'。 –

+0

*通过调试解决此问题*不完全清楚。请解释你在做什么。 –

回答

0

我发现这个问题与我几年前从windows应用中获得的lz4实现有关。有很多,如果这样的东西:

#define U32  uint32_t 

void* source = {some void pointer} 
void* destination = {some void pointer} 
*(U32*)destination = *(U32*)source; 

我已经在互联网上实现LZ4为Androin发现和注意到differens在使用的memcpy不是(U32)=(U32)。我已经重写我的代码来排除所有这样的地方,它开始在我的4.0.3上工作。