android NDK 编译hellojni 例子文件
運行android-cmd.bat,使用cd命令切換到samples/hello-jni目錄下,
運行android update project -p . -s,會生成build.xml文件,用于ant命令,要注意的是,編譯的時候會發生錯誤,提示:
Error: The project either has no target set or the target is invalid.
Please provide a --target to the 'android.bat update' command.
這個時候,可以使用android list targets命令來查看當前系統中的android模擬器,我有兩個,如下:
I:\android\android-ndk-r7c\samples\native-activity>android.bat list targets
Available Android targets:
----------
id: 1 or "android-8"
???? Name: Android 2.2
???? Type: Platform
???? API level: 8
???? Revision: 1
???? Skins: HVGA, QVGA, WQVGA400, WQVGA432, WVGA800 (default), WVGA854
???? ABIs : armeabi
----------
id: 2 or "android-10"
???? Name: Android 2.3.3
???? Type: Platform
???? API level: 10
???? Revision: 2
???? Skins: HVGA, QVGA, WQVGA400, WQVGA432, WVGA800 (default), WVGA854
???? ABIs : armeabi
如果沒有的話,需要使用SDK的AVD Manager來創建一個就可以了.而我使用的是android 2.3.3的模擬器,所以我的編譯命令是:
I:\android\android-ndk-r7c\samples\native-activity>android update project -p . -
t android-10 -s
Updated and renamed default.properties to project.properties
Updated local.properties
No project name specified, using Activity name 'NativeActivity'.
If you wish to change it, edit the first line of build.xml.
Added file I:\android\android-ndk-r7c\samples\native-activity\build.xml
Added file I:\android\android-ndk-r7c\samples\native-activity\proguard.cfg
從上面看出,已經生成了build.xml文件了.
?
運行ant debug命令,輸出如下:
I:\android\android-ndk-r7c\samples\hello-jni>ant debug
Buildfile: I:\android\android-ndk-r7c\samples\hello-jni\build.xml
-set-mode-check:
-set-debug-files:
-set-debug-mode:
-debug-obfuscation-check:
-setup:
???? [echo] Gathering info for HelloJni...
??? [setup] Android SDK Tools Revision 16
??? [setup] Project Target: Android 2.2
??? [setup] API level: 8
??? [setup]
??? [setup] ------------------
??? [setup] Resolving library dependencies:
??? [setup] No library dependencies.
??? [setup]
??? [setup] ------------------
??? [setup]
??? [setup] WARNING: Attribute minSdkVersion in AndroidManifest.xml (3) is lower
?than the project target API level (8)
-build-setup:
???? [echo] Creating output directories if needed...
-pre-build:
-code-gen:
???? [echo] ----------
???? [echo] Handling aidl files...
???? [aidl] No AIDL files to compile.
???? [echo] ----------
???? [echo] Handling RenderScript files...
[renderscript] No RenderScript files to compile.
???? [echo] ----------
???? [echo] Handling Resources...
???? [aapt] Found Deleted Target File
???? [aapt] Generating resource IDs...
-pre-compile:
-compile:
??? [javac] Compiling 2 source files to I:\android\android-ndk-r7c\samples\hello
-jni\bin\classes
-post-compile:
-obfuscate:
-dex:
????? [dex] Converting compiled files and external libraries into I:\android\and
roid-ndk-r7c\samples\hello-jni\bin\classes.dex...
-crunch:
?? [crunch] Crunching PNG Files in source dir: I:\android\android-ndk-r7c\sample
s\hello-jni\res
?? [crunch] To destination dir: I:\android\android-ndk-r7c\samples\hello-jni\bin
\res
?? [crunch] Crunched 0 PNG files to update cache
-package-resources:
???? [aapt] Creating full resource package...
???? [aapt] Warning: AndroidManifest.xml already defines debuggable (inhttp://s
chemas.android.com/apk/res/android); using existing value in manifest.
-package:
[apkbuilder] Current build type is different than previous build: forced apkbuil
der run.
[apkbuilder] Creating HelloJni-debug-unaligned.apk and signing it with a debug k
ey...
-do-debug:
?[zipalign] Running zip align on final apk...
???? [echo] Debug Package: I:\android\android-ndk-r7c\samples\hello-jni\bin\Hell
oJni-debug.apk
debug:
[propertyfile] Creating new property file: I:\android\android-ndk-r7c\samples\he
llo-jni\bin\build.prop
[propertyfile] Updating property file: I:\android\android-ndk-r7c\samples\hello-
jni\bin\build.prop
[propertyfile] Updating property file: I:\android\android-ndk-r7c\samples\hello-
jni\bin\build.prop
[propertyfile] Updating property file: I:\android\android-ndk-r7c\samples\hello-
jni\bin\build.prop
BUILD SUCCESSFUL
Total time: 5 seconds
從上面,可以看出,生成了HelloJni-debug.apk,那么使用adb命令安裝到當前的虛擬機上就可以了.
運行adb install bin/HelloJni-debug.apk命令,如果出現:error: device not found,說明你的android模擬器尚未start.
運行后,出現如下提示:
185 KB/s (85934 bytes in 0.453s)
??????? pkg: /data/local/tmp/HelloJni-debug.apk
Success
轉載于:https://www.cnblogs.com/geeeknerd/archive/2013/05/09/3068898.html
總結
以上是生活随笔為你收集整理的android NDK 编译hellojni 例子文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 详解 如何在 windows 7添加启动
- 下一篇: Oracle自定义函数