6

我尝试下载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)
4

3 回答 3

9

1.) 正如 Bad Design 正确指出的那样,__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/应用程序.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
于 2013-01-26T14:30:51.307 回答
4

如果运行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

编辑:在我将 AndroidManifest.xml 文件更改为如下内容后,我尝试从您链接的 Github 页面构建 Android 项目的 OpenSSL 库,并且它工作正常:

注意:我在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>
于 2013-01-25T21:32:13.433 回答
4

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

于 2013-03-15T07:58:21.130 回答