如何使用ndk8在Windows上构buildAndroid的Openssl?

我尝试下载OpenSSL-Android 。 然后在这种情况下运行ndk-build这是ndk8c。

我得到的错误:

process_begin: CreateProcess(NULL, pwd, ...) failed. d:/Development/android/android-ndk-r8d/build/gmsl/__gmsl:512: *** non-numeric second argument to `wordlist' function: ''. Stop. 

当我应用一个修补程序__gsml如上所述

我得到的错误:

 Android NDK: Your APP_BUILD_SCRIPT points to an unknown file: /Android.mk d:/Development/android/android-ndk-r8c/build/core/add-application.mk:165: *** Android NDK: Aborting... . Stop. 

还是有一个二进制我可以下载? 我基本上只需要libcrypto.so。

这是我使用的Android.mk:

 LOCAL_PATH := $(call my-dir) subdirs := $(addprefix $(LOCAL_PATH)/,$(addsuffix /Android.mk, \ crypto \ ssl \ apps \ )) include $(subdirs) 

Solutions Collecting From Web of "如何使用ndk8在Windows上构buildAndroid的Openssl?"

1.)作为错误的设计指出正确的__gsml错误是由以下AndroidManifest.xml修复

 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.evotegra.aCoDriver" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="17" android:maxSdkVersion="17" /> </manifest> 

2.)错误:

 Android NDK: Your APP_BUILD_SCRIPT points to an unknown file: /Android.mk 

是由行引起的

 APP_BUILD_SCRIPT := $(APP_PROJECT_PATH)/Android.mk 

在jni / Application .mk中。 在Windows上,变量$ APP_PROJECT_PATH没有设置,因此它正在Android.mk的根目录中查找。

这可以通过将文件jni / Application .mk更改为以下来修复:

 LOCAL_PATH := $(call my-dir) NDK_TOOLCHAIN_VERSION=4.4.3 APP_PROJECT_PATH := $(shell pwd) APP_BUILD_SCRIPT := $(LOCAL_PATH)/../Android.mk 

如果在运行ndk-build之后出现以下错误:

 android-ndk-r8d/build/gmsl/__gmsl:512: *** non-numeric second argument to `wordlist' function: ''. Stop. 

你应该在AndroidManifest.xml文件中至少添加“android:minSdkVersion”:

 <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="17" android:maxSdkVersion="17" /> 

如果你想修复第二个错误,我想你应该从“/Android.mk”处删除前导“/” ,$(addsuffix /Android.mk

编辑:我试着从你链接的Github页面构建Android项目的OpenSSL库,它改变了AndroidManifest.xml文件,如下所示:

注意:我在GNU / Linux发行上使用了android-ndk-r8d ,并且从项目的根目录运行了ndk-build

您不必删除前导“/”。

 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.jp.algi" android:versionCode="1" android:versionName="1.0"> <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="17" android:maxSdkVersion="17" /> <application android:label="@string/app_name" android:icon="@drawable/ic_launcher"> <activity android:name="MyJpAndroidAppActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest> 

我使用了命令dos2unix AndroidManifest.xml,它清除了我的错误。 我希望有帮助