我有一个支持Crashlytics的应用程序(现在是Twitter的Fabric的一部分),我需要使用Android NDK添加一些JNI功能。
我已经切换到实验性gradle,因为Android Studio提示我:
http://tools.android.com/tech-docs/new-build-system/gradle-experimental
当我应用必要的更改并尝试同步时,我收到错误:
import os
import sys
sys.path.append("add/Your/Path")
os.environ.setdefault("DJANGO_SETTINGS_MODULE","mysite.settings")
import django
django.setup()
import django.core.handlers.wsgi
application = get_wsgi_application()
application = django.core.handlers.wsgi.WSGIHandler()
我已经搜索了这个错误,发现这是Fabric和实验性gradle之间的问题,而Fabric团队似乎并不关心在任何时候修复它:https://twittercommunity.com/t/gradle-experiental-support/53441。
我偶然发现Issue with experimental gradle: The android plugin must be applied to the project,但我不知道该怎么做,我不确定这是不是正确的方法?
如何在我的项目中使用Android NDK 和 Fabric?
答案 0 :(得分:2)
所以gradle-experimental和Fabric不混合。
解决方案:
1)更新到最新的Android Studio 2.3.1
2)按照本教程删除gradle实验:https://developer.android.com/studio/projects/add-native-code.html
我所做的是创建一个启用了C ++支持的新临时项目,并添加了一个空白活动。
然后我打开了当前项目和临时项目,并将必要的更改复制到我自己的项目中。
完成后(大约1小时的工作)我能够将我的C代码构建到库中,将库加载到我的项目中,然后进行JNI调用。