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
- IDEA匯入Eclipse專案IdeaEclipse
- eclipse專案匯入到IDEAEclipseIdea
- java怎麼匯入專案?java已有專案如何匯入eclipse?JavaEclipse
- 匯入已有的工程
- mysqldump匯出匯入所有庫、某些庫、某些表的例子MySql
- maven建立Java 和 Web Project, 並匯入EclipseMavenJavaWebProjectEclipse
- maven 工程匯入jar包MavenJAR
- Eclipse下匯入外部jar包的最簡單方法EclipseJAR
- Maven+Eclipse工程搭建MavenEclipse
- Eclipse匯入專案後JSP頁面出現報紅EclipseJS
- Eclipse Spring MVC工程的建立EclipseSpringMVC
- JavaWeb開發之Eclipse中jsp自動匯入類路徑JavaWebEclipseJS
- 20.Eclipse下Ndk開發(pthread開啟執行緒呼叫Java方法)Eclipsethread執行緒Java
- Eclipse project 重新命名問題(如何徹底修改Eclipse工程名)EclipseProject
- 成功使用Eclipse匯入專案,並實驗Mybatis操作了資料庫內容。EclipseMyBatis資料庫
- Mac之Android Studio開發NDK入門MacAndroid
- NDK
- Eclipse Memory Analyzer入門教程Eclipse
- Eclipse從入門到精通Eclipse
- Activity 流程模型匯入匯出-activity流程模型匯入匯出模型
- 關於idea匯入gradle工程,出現sync failed的問題IdeaGradleAI
- Mysql匯入&匯出MySql
- doris匯入匯出
- esayExcel匯入匯出Excel
- Android NDK入門:C++ 基礎知識AndroidC++
- Andorid Studio NDK開發-使用NDK庫
- eclipse中Maven工程使用Tomcat7以上外掛EclipseMavenTomcat
- [轉]Android Studio匯入工程報錯 Error:Cause: peer not authenticated 解決方案AndroidError
- vue excel匯入匯出VueExcel
- navlicat 匯入匯出SQLSQL
- NDK學習筆記-NDK開發流程筆記
- Oracle資料庫匯入匯出。imp匯入命令和exp匯出命令Oracle資料庫
- MySQL入門--匯出和匯入資料MySql
- MATLAB匯入txt和excel檔案技巧彙總:批量匯入、單個匯入MatlabExcel
- EasyExcel匯入Excel
- Android NDK開發(二) 使用ndk-build構建工具進行NDK開發AndroidUI
- 用VS2015匯入工程時出現error MSB8020錯誤Error