ubuntu 在 R40e 上 還有 Debian 在 Sempron 2600 上

2011年11月24日 星期四

Add app project in android build system

google 的說明文件有 如何用 android 的 build 系統 build apk:
http://www.kandroid.org/online-pdk/guide/build_cookbook.html

copy 一些過來:

Android system 用 Android.mk,簡單的 apk 可以用: LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) # Build all java files in the java subdirectory LOCAL_SRC_FILES := $(call all-subdir-java-files) # Name of the APK to build LOCAL_PACKAGE_NAME := LocalPackage # Tell it to build an APK include $(BUILD_PACKAGE) 把這個 Android.mk 放在 app 的 folder 中就可以。
... LocalPackage 就是最後 apk 的 filename


這一篇是說明把 Eclipse create 的 project folder 搬到 Android root 中 build 的方法:
http://owenhuangtw.pixnet.net/blog/post/23935524-using-android-bluetoothdevice-class-to-control-blue-deivce

.. 好像就是把 Android.mk 放進去就可以了 (?)

用 eclipse create 的 project 如果有 build 過,搬到 android root 後,要把 gen, bin 清掉,不然 build 會有 R.jar 的 error。

其實 developement/sample 下每一個 project 都是 用這個方法。
可以參考


很奇怪,給 file path 就不行,可以的是用 MediaScanner scan 過後,再傳 uri 過去。
所以可能要自己 scan,
example 在 development/samples/ApiDemos/src/com/example/android/apis/content/ExternalStorage.java:

scan 單檔的 方法:
            File path = Environment.getExternalStoragePublicDirectory(
                    Environment.DIRECTORY_PICTURES);
            File file = new File(path, "DemoPicture.jpg");
            .....
            .....
            // Tell the media scanner about the new file so that it is
            // immediately available to the user.
            MediaScannerConnection.scanFile(this,
                    new String[] { file.toString() }, null,
                    new MediaScannerConnection.OnScanCompletedListener() {
                public void onScanCompleted(String path, Uri uri) {
                    Log.i("ExternalStorage", "Scanned " + path + ":");
                    Log.i("ExternalStorage", "-> uri=" + uri);
                }
            });

沒有留言:

標籤

網誌存檔