最終更新: yamanobori_old 2016年05月16日(月) 06:58:39履歴
Backspace | Ctrl+H |
Complete Current Statement | Shift+Enter |
Down | Ctrl+N |
Up | Ctrl+P |
Recent Files | Ctrl+, R |
Navigate File | Ctrl+, F |
File Structure | Ctrl+, O |
Code Completion Basic | Ctrl+Shift+Space |
Code Completion SmartType | Ctrl+Space |
Reformat Code | Ctrl+Shift+L |
Find Action | Ctrl+,E |
Show Intention Action | Ctrl+Enter |
.gitignore
.gradle /local.properties /.idea/workspace.xml /.idea/libraries .DS_Store /build /captures *.iml.idea/.gitignore
*.xml !/codeStyleSettings.xml !/copyright/*.xml !/fileColors.xml !/fileTemplates/ !/encodings.xml !/findbugs-idea.xml !/gradle.xml !/runConfigurations.xml !/inspectionProfiles/*.xml !/scopes/*.xml !/templateLanguages.xml !/vcs.xml
- Roboletricのプロジェクト(Java Project)を作る.テスト対象プロジェクトと同じ階層に作る.
- Project参照でテスト対象プロジェクトを選択
- Maven Centralからroboletricを持ってくる. libsフォルダを作って格納する
robolectric-2.4-jar-with-dependencies.jar fest-android-1.0.8.jar fest-assert-core-2.0M10.jar fest-util-1.2.5.jar
- BuildPathにダウンロードしてきたjarを追加する
AddJars
- AndroidSDKの android.jar を BuildPathに追加
Add External Jars
- JUnitを追加
AddLibrary
- テスト対象プロジェクトのAndroidManifestを参照できるようにする
src/org.robolectric.Config.properties
manifest=../TargetPreject/AndroidManifest.xml
- テストクラスの追加
import static org.fest.assertions.api.ANDROID.assertThat; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.Robolectric; import org.robolectric.RobolectricTestRunner; import android.widget.Button; import android.widget.EditText; @RunWith(RobolectricTestRunner.class) public class LoginActivityTest { private LoginActivity activity; @Before public void setup() { activity = Robolectric. setupActivity(LoginActivity.class); } @Test public void shouldNotBeNull() throws Exception { assertThat(activity ).isNotNull(); EditText textView = (EditText) activity.findViewById(R.id. edit_login); assertThat(textView ).isNotNull(); Button button = (Button) activity.findViewById(R.id. button_login); assertThat(button ).isNotNull(); button.performClick(); Thread. sleep(1000); } }
- Order and Exportの変更
src 対象プロジェクト JRE System Library JUnit4 robolectric android.jar fest...
adb logcat *:E | タグ指定なし | |
adb logcat dalvikvm:E *:S | タグ指定 | 複数タグ指定の場合 ActivityManager:E,dalvikvm:I などとtag:priorityの形でカンマ連結する |
1)project.propertiesにて,proguardのconfigファイルにproguard-project.txtを指定
# To enable ProGuard to shrink and obfuscate your code, uncomment this #(available properties: sdk.dir, user.home): #proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt proguard.config=proguard-project.txt2)>proguard-project.txtにて出力を削除するレベルを記述
-assumenosideeffects class android.util.Log { public static *** v(...); public static *** w(...); }
1)デバッグコードの削除
<application android: debuggable="false">2)リリースモードでコンパイル(この例はphonegapアプリ)
$ ./cordova/build --release3)鍵の生成
$ keytool -genkey -v -keystore <鍵.keystore> -alias <keystorealias> -keyalg RSA -validity <有効期間>4)署名
$ jarsigner -verbose -keystore <鍵.keystore> <unsigned apk> <keystorealias>5)apkの最適化
$ zipalign -v 4 <signed apk> <output.apk>
root@android:/ # cat /proc/cpuinfo Processor : ARMv7 Processor rev 2 (v7l) BogoMIPS : 996.74 Features : swp half thumb fastmult vfp edsp thumbee neon vfpv3 CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x3 CPU part : 0xc08 CPU revision : 2 Hardware : OMAP3 Beagle Board Revision : 0020 Serial : 0000000000000000
1
build/envsetup.sh lunch
or
buildspec.mk
2
AndroidProducts.mk
Single Product .mk
main.mk build/core
config.mk
definitition.mk
boardconfig.mk
makefile
Android.mk
CleanSpec.mk
build/envsetup.sh lunch
or
buildspec.mk
2
AndroidProducts.mk
Single Product .mk
main.mk build/core
config.mk
definitition.mk
boardconfig.mk
makefile
Android.mk
CleanSpec.mk
~/rowboat-android% cd x-loader ~/rowboat-android/x-loader% make CROSS_COMPILE=arm-eabi- distclean ~/rowboat-android/x-loader% make CROSS_COMPILE=arm-eabi- omap3beagle_config ~/rowboat-android/x-loader% make CROSS_COMPILE=arm-eabi- ~/rowboat-android/x-loader% signGP ./x-load.bin ~/rowboat-android/x-loader% mv x-load.bin.ift MLO
~/rowboat-android%cd u-boot ~/rowboat-android/u-boot%make CROSS_COMPILE=arm-eabi- distclean ~/rowboat-android/u-boot%make CROSS_COMPILE=arm-eabi- omap3_beagle_config ~/rowboat-android/u-boot%make CROSS_COMPILE=arm-eabi-
~/rowboat-android%cd kernel ~/rowboat-android/kernel%make ARCH=arm CROSS_COMPILE=arm-eabi- distclean ~/rowboat-android/kernel%make ARCH=arm CROSS_COMPILE=arm-eabi- omap3_beagle_android_defconfig ~/rowboat-android/kernel%make ARCH=arm menuconfig ~/rowboat-android/kernel%make ARCH=arm CROSS_COMPILE=arm-eabi- uImage
~/rowboat-android%cd out/target/product/beagleboard ~/rowboat-android/out/target/product/beagleboard%mkdir android_rootfs ~/rowboat-android/out/target/product/beagleboard%cp -r root/* android_rootfs ~/rowboat-android/out/target/product/beagleboard%cp -r system android_rootfs ~/rowboat-android/out/target/product/beagleboard%sudo ../../../../build/tools/mktarball.sh ../../../host/linux-x86/bin/fs_get_stats android_rootfs . rootfs rootfs.tar.bz2
~/Android/Devkit/Tools/mk-bootscr%cat mkbootscr #!/bin/sh cat <<EOF > boot.cmd if fatload mmc 0 82000000 uImage then echo ***** Kernel: /dev/mmcblk0p1/uImage ***** fi echo ***** RootFS: /dev/mmcblk0p2 ***** setenv bootargs 'console=ttyO2,115200n8 androidboot.console=ttyO2 mem=256M root=/dev/mmcblk0p2 rw rootfstype=ext3 rootdelay=1 init=/init ip=off omap_vout.vid1_static_vrfb_alloc=y vram=8M omapfb.vram=0:8M' bootm 0x82000000 EOF mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n 'Execute uImage.bin' -d boot.cmd boot.scr ~/Android/Devkit/Tools/mk-bootscr%./mkbootscr ~/Android/Devkit/Tools/mk-bootscr%ls boot.scr boot.scr
~%cd rowboat-android ~/rowboat-android%mkdir image_folder ~/rowboat-android%cp kernel/arch/arm/boot/uImage image_folder ~/rowboat-android%cp u-boot/u-boot.bin image_folder ~/rowboat-android%cp x-loader/MLO image_folder ~/rowboat-android%cp ~/Android/Devkit/Tools/mk-bootscr/boot.scr image_folder ~/rowboat-android%cp out/target/product/beagleboard/rootfs.tar.bz2 image_folder ~/rowboat-android%cp -a Media_Clips image_folder ~/rowboat-android%cd image_folder ~/rowboat-android/image_folder%LANG=C sudo ./mkmmc-android.sh /dev/sdb MLO u-boot.bin uImage boot.scr rootfs.tar.bz2 Media_Clips
ubuntu12.04版
%sudo vi /etc/udev/rules.d/51-android.rules %cat /etc/udev/rules.d/51-android.rules SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666" %sudo /etc/init.d/udev restart
~/rowboat-android%source build/envsetup.sh including device/ti/am45xevm/vendorsetup.sh
mコマンド | トップディレクトリからビルドを開始する |
mmコマンド | カレントディレクトリのモジュールをビルドする |
mmmコマンド | 指定したディレクトリのモジュールをビルドする |
crootコマンド | トップディレクトリに移動する |
cgrepコマンド | C言語のソースコードをgrepする |
jgrepコマンド | Javaのソースコードをgrepする |
resgrepコマンド | xmlファイルをgrepする |
lunchコマンド | ビルドターゲットを指定する |
最新環境をチェック
https://code.google.com/p/git-repo/
https://code.google.com/p/git-repo/
$ curl http://git-repo.googlecode.com/files/repo-1.12 > ~/bin/repo
このページへのコメント
F8JVTh Thanks again for the post.Thanks Again. Great.
125698
http://www.konosuke-matusita.com/
http://www.mbldaypassdeals.com/
http://www.erven-voor-ontwikkeling.com/
http://www.bossen-van-bezinning.com/
http://www.rustandbonescreenplay.com/
http://www.vivesolutionsinc.com/
http://www.darinkamontano.com/
http://www.awfmmellowtouch.net/
Cheap Canada Goose Jackets clearance sale &amp; Winter Parka outlet shop http://www.darinkamontano.com/
canada goose
http://www.darinkamontano.com/
http://www.awfmmellowtouch.net/
http://www.rajasthantour-travels.com/
canada goose montebello parka http://www.rajasthantour-travels.com/
Sc5a1b Major thanks for the blog article.Really looking forward to read more. Awesome.
ruqLPy <a href="http://dqwhoowmvpgf.com/">dqwhoowmvpgf</a>, [url=http://bjzzoeawwscy.com/]bjzzoeawwscy[/url], [link=http://mqhfwuvptkck.com/]mqhfwuvptkck[/link], http://vhpktxqrkkal.com/