Eclipse匯入NDK例子工程
Eclipse匯入NDK例子工程
前言
前幾天,想匯出NDK的例子,有的是編譯不過,有的是執行時報錯,查了資料,才知道是IDE環境配置有問題.
操作步驟記錄
試驗環境
Win7X64 + android-ndk-r10e
匯入
拿android-ndk-r10e自帶的hello-jni為例
解決匯入後的錯誤
匯入後,出現錯誤
[2016-05-30 07:35:34 - HelloJni] Unable to resolve target 'android-3'
在真機上執行報錯
`java.lang.UnsatisfiedLinkError: Couldn't load hello-jni from loader dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.example.hellojni-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.example.hellojni-1, /vendor/lib, /system/lib]]]: findLibrary returned null`
設定NDK路徑
工程中加入android-NDK本地支援
報錯,說沒有找到Cygwin
`[2016-05-30 07:56:10 - Unable to launch cygpath. Is Cygwin on the path?] java.io.IOException: Cannot run program "cygpath": CreateProcess error=2, 系統找不到指定的檔案。`
可以看到, ARM版的libhello-jni.so已經生成了.
但是有編譯錯誤
這說明工程中的.h路徑不對
#include <string.h>
#include <jni.h>
在ndk目錄中找到arm版的正確包含路徑,填入eclipse
關掉eclipse, 再開啟eclipse, 再重新編譯一次
編譯報錯
是清單檔案報錯了
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.hellojni"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="3" />
<application android:label="@string/app_name"
android:debuggable="true">
<activity android:name=".HelloJni"
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>
修改成
去掉android:debuggable=”true”
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.hellojni"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="3" />
<application android:label="@string/app_name">
<activity android:name=".HelloJni"
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>
關掉eclipse, 再開啟eclipse, 再重新編譯一次
現在在真機上可以執行了
雖然程式可以正常執行,但是可以看到Console有報錯提示.
[2016-05-30 08:49:11 - Unable to launch cygpath. Is Cygwin on the path?] java.io.IOException: Cannot run program "cygpath": CreateProcess error=2, 系統找不到指定的檔案。
NDK高版本不需要Cygwin, 讓他報錯去吧.
相關文章
- Eclipse如何匯入別人工程Eclipse
- CMake生成eclipse的工程並匯入Eclipse
- Eclipse CDT 匯入 Makefile 構建的 C/C++ 工程EclipseC++
- Android NDK開發之旅15 NDK Eclipse下NDK開發流程AndroidEclipse
- 匯出和匯入Gradle工程Gradle
- eclipse匯入約束檔案Eclipse
- Eclipse匯入包的快捷鍵Eclipse
- IDEA匯入Eclipse專案IdeaEclipse
- maven 工程匯入jar包MavenJAR
- mysqldump匯出匯入所有庫、某些庫、某些表的例子MySql
- 一個ORACLE匯入和匯出XML檔案的例子OracleXML
- eclipse專案匯入到IDEAEclipseIdea
- Eclipse新建/匯入Gradle專案EclipseGradle
- 把jive匯入Eclipse的問題Eclipse
- java怎麼匯入專案?java已有專案如何匯入eclipse?JavaEclipse
- Eclipse怎樣把檔案系統形式的專案作為工程直接匯入?Eclipse
- 使用oracle sqlldr匯入文字資料的例子OracleSQL
- eclipse裡面匯入JFrame包出錯。Eclipse
- Eclipse-在Eclipse中匯入GitHub專案的步驟EclipseGithub
- javaEE版本的eclipse中匯入工程,發現server裡面找不到工程,根本釋出不了也不能執行JavaEclipseServer
- PowerDsigner 16逆向工程匯入mysqlMySql
- maven建立Java 和 Web Project, 並匯入EclipseMavenJavaWebProjectEclipse
- 關於Eclipse生成和匯入Patch檔案.Eclipse
- spring framework原始碼下載並匯入eclipseSpringFramework原始碼Eclipse
- myeclipse的web專案匯入到eclipse中EclipseWeb
- 從GitHub將Maven專案匯入Eclipse4.2GithubMavenEclipse
- Android Studio匯入Eclipse專案原始碼AndroidEclipse原始碼
- imp匯入300G資料的一個例子
- Eclipse下匯入外部jar包的最簡單方法EclipseJAR
- Maven-在Eclipse中檢出並匯入Maven專案MavenEclipse
- Eclipse在已建立的project中匯入其他檔案EclipseProject
- 請教怎樣將ofbiz匯入到eclipse下Eclipse
- 軟體工程概論——課程匯入介面以及資料匯入資料庫軟體工程資料庫
- eclipse匯出jar包EclipseJAR
- Eclipse下搭建Android的NDK開發環境EclipseAndroid開發環境
- Eclipse自動編譯NDK/JNI的三種方法Eclipse編譯
- 開源專案匯入eclipse的一般步驟Eclipse
- win7 64 eclipse 匯入hadoop2.6.0 原始碼Win7EclipseHadoop原始碼