めざせアンドロイドマーケット
Android Studio NDK
2015年9月24日木曜日
覚書:AndroidStudio でアプリケーションのディレクトリーを確認する方法
開発中のアプリのディレクトリ 開発機/data/data/アプリ は
デバッグモードの場合下記の方法でアクセス可能となります
1)androidstudioのterminal からadb shell を実行
/platform-tools/adb はパスが通っている前提
2)パッケージ名の確認 ※必要ならば
pm list packages
3)run-as "パッケージ名" の実行
これで対象ディレクトリのみパーミッションがフリーとなる
2015年9月4日金曜日
覚書:Androidstudio で NativeActivity
テスト的にNativeActivity を使用しようとして
Androidstudio でプロジェクを作って見たが すんなりと動きませんでした
以下覚書
1)build.gradle
sourceSets.main {
jniLibs.srcDir 'src/main/jniLibs' //.so ファイルのディレクトリーの指定
jni.srcDirs = [] //jniのビルドを無効(別のバッチで実行するため)
}
2)AndroidManifest.xml
<application
android:label="@string/app_name"
android:hasCode="false" > //java ファイルがない場合
<activity
android:name="android.app.NativeActivity"
android:label="@string/app_name"
android:configChanges="orientation|keyboardHidden">
<meta-data android:name="android.app.lib_name"
android:value="native-activity" />
2)Android.mk で NDK_APP_DST_DIR を記載が必要( 1)で指定した為)
私の場合 NDK_APP_DST_DIR := ../jniLibs/$(TARGET_ARCH_ABI)
Androidstudio でプロジェクを作って見たが すんなりと動きませんでした
以下覚書
1)build.gradle
sourceSets.main {
jniLibs.srcDir 'src/main/jniLibs' //.so ファイルのディレクトリーの指定
jni.srcDirs = [] //jniのビルドを無効(別のバッチで実行するため)
}
/* ndk { }*/ //ndkの処理はここでは行わない
2)AndroidManifest.xml
<application
android:label="@string/app_name"
android:hasCode="false" > //java ファイルがない場合
<activity
android:name="android.app.NativeActivity"
android:label="@string/app_name"
android:configChanges="orientation|keyboardHidden">
<meta-data android:name="android.app.lib_name"
android:value="native-activity" />
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
2)Android.mk で NDK_APP_DST_DIR を記載が必要( 1)で指定した為)
私の場合 NDK_APP_DST_DIR := ../jniLibs/$(TARGET_ARCH_ABI)
2015年8月17日月曜日
YogaTablet2 830L Androidstudio ADB接続
YogaTablet2 830Lを買ったがいいが
Androidstudioでデバッガ機として認識できず困った人へ
私がそうです
購入後すぐにOSバージョンアップを行ったせいかどうか・・・
デバッグ接続用のドライバーがインストールされずに困ってしまいました
私は下記の方法で何とかつながりましたので
参考にされる方はどうぞ 自己責任でお願いします
解決法
1)ドライバーをLenovo サイトから手に入れる
lenovo.com - 【レノボ】公式サイト
HPの検索で "ADB"と入力
”ADBドライバー”ラインナップを見る を押す
”ADBインターフェースドライバー” これをダウンロード
2)解凍
3)インストール
デバイスマネージャー開き
”ほかのデバイス”にぶら下がってるディバイスのプロパティを開く
”ドライバーの更新”
↓
”コンピュータを参照して・・・”
↓
”コンピュータ上のデバイドライバーの一覧・・・”
↓
”すべてのディバイスを表示”
↓
”ディスクを使用”
↓
”参照”
↓
先ほどのドライバーを解凍したフォルダの中の
"android_winusb.inf"を指定
↓
【ドライバーの更新警告】”windowsによって・・・” 互換性の警告がでる
このあたりが自己責任
このあたりが自己責任
↓
”はい” インストールの続行
4)デバイスマネージャーの確認
デバイスマネージャーに"Android Device -- Android Bootloder Interface"
これが追加されます
以上です
これ私の場合AndroidStudio からYogaで
実機デバッグを選択できるようになりましたが
実機デバッグを選択できるようになりましたが
いかがでしょうか?
5)追記 ここがポイント
lenovoから手に入れたADBドライバーのandroid_winusb.inf の内容を見ても
VID PID がwindowsデバイスマネージャーで確認したYogaTablet2 830Lのそれとは
一致していませんでした
巷のADBドライバー改造方法ではこれを一致させる方法が紹介されています
確かにこの方法で動く事は私も確認しましたが
この方法が一番正解でもないようです
lenovoから手に入れたADBドライバーのandroid_winusb.inf の内容を見ても
VID PID がwindowsデバイスマネージャーで確認したYogaTablet2 830Lのそれとは
一致していませんでした
巷のADBドライバー改造方法ではこれを一致させる方法が紹介されています
確かにこの方法で動く事は私も確認しましたが
この方法が一番正解でもないようです
2015年7月6日月曜日
覚書:アプリの名前変更
Androidstudioの環境でアプリの名前を変える方法
app\src\main\res\values\strings.xml 内の
<string name="app_name">ここに名前を記載</string>
app\src\main\res\values\strings.xml 内の
<string name="app_name">ここに名前を記載</string>
app\src\main\AndroidManifest.xml 内のandroid:label すべてを
android:label="@string/app_name"
この様に記載しておく必要がある
2015年3月23日月曜日
おまけ
gradlew で ndk-build を直接実行した場合
app\build\intermediates\ndk\debug に Android.mk がその都度作成されるようです
ですので build.gradle 内の ndk{} で色々記載した結果が
本来実行したい Android.mk の内容と同じになれば
gradlewから直接コンパイルができる様になると思われます
app\build\intermediates\ndk\debug に Android.mk がその都度作成されるようです
ですので build.gradle 内の ndk{} で色々記載した結果が
本来実行したい Android.mk の内容と同じになれば
gradlewから直接コンパイルができる様になると思われます
2015年3月19日木曜日
いつのまにかAndroid Studio になってました JNI のコンパイルでハマりました
3年前から別件で忙しく全然更新していなかったら
いつのまにか開発環境がAndroid Studioになってました
そこでとりあえず ADTの環境から引っ越しです
前にやっていたのは
NativeActivity のゲームシステム構築開始で絵の表示を
libpng.a で行う実験中でした
これを実験半ばでAndroid Studioに移行することから始めた訳ですが・・・
・問題点
スタティックライブラリである libpng.a がどうしてもgradle環境に移行出来ない
src\main\jniLibs\armeabiに入れてもリンクしない
常駐ライブラリと扱い
android-ndk-r10d\platforms\android-?\arch-arm\usr\lib に追加しても
リンク後に変なエラーが出る
等々
最終的に従来のAndroid.mk を使う事に落ち着きましたが
ネットで先駆者の人達の情報を見ても一筋縄では行かなかったので
ここにメモします
・手法
1)Android Studio のTerminal から ndk-build の実行
いろいろと検討した結果面倒だったので
このコマンドが置いてある位置をシステムパスに追加しました
2)実行後に出来た libnative-activity.soの移動
これの手作業です 自動化の方法もありそうですが後で考えます
1)を実行すると src\main\libs\armeabiにできるので
これを src\main\jniLibs\armeabiにコピーします
3)Android Studioの Run->Debug'app' の実行
この実行の時に 上記libnative-activity.soを作成しないように
app/gradle の内容に二点手を加えます
sourceSets.main {
jniLibs.srcDir 'src/main/jniLibs'
jni.srcDirs = [] // 1)これでCソースのコンパイルは行いません
}
defaultConfig {
applicationId "jp.gr.java_conf.omoshiroya.NAPng"
minSdkVersion 10
targetSdkVersion 10
}
/* //2)念のため プロジェクト移行で作成されたndk指定をコメントアウト
ndk {
}
*/
書いてみると簡単な事ですが2日掛かりました・・・
いつのまにか開発環境がAndroid Studioになってました
そこでとりあえず ADTの環境から引っ越しです
前にやっていたのは
NativeActivity のゲームシステム構築開始で絵の表示を
libpng.a で行う実験中でした
これを実験半ばでAndroid Studioに移行することから始めた訳ですが・・・
・問題点
スタティックライブラリである libpng.a がどうしてもgradle環境に移行出来ない
src\main\jniLibs\armeabiに入れてもリンクしない
常駐ライブラリと扱い
android-ndk-r10d\platforms\android-?\arch-arm\usr\lib に追加しても
リンク後に変なエラーが出る
等々
最終的に従来のAndroid.mk を使う事に落ち着きましたが
ネットで先駆者の人達の情報を見ても一筋縄では行かなかったので
ここにメモします
・手法
1)Android Studio のTerminal から ndk-build の実行
いろいろと検討した結果面倒だったので
このコマンドが置いてある位置をシステムパスに追加しました
2)実行後に出来た libnative-activity.soの移動
これの手作業です 自動化の方法もありそうですが後で考えます
1)を実行すると src\main\libs\armeabiにできるので
これを src\main\jniLibs\armeabiにコピーします
3)Android Studioの Run->Debug'app' の実行
この実行の時に 上記libnative-activity.soを作成しないように
app/gradle の内容に二点手を加えます
sourceSets.main {
jniLibs.srcDir 'src/main/jniLibs'
jni.srcDirs = [] // 1)これでCソースのコンパイルは行いません
}
defaultConfig {
applicationId "jp.gr.java_conf.omoshiroya.NAPng"
minSdkVersion 10
targetSdkVersion 10
}
/* //2)念のため プロジェクト移行で作成されたndk指定をコメントアウト
ndk {
}
*/
書いてみると簡単な事ですが2日掛かりました・・・
2013年1月19日土曜日
jar 出力及び使用
1)eclipes でjarを作成するプロジェクトを作成
2)AndroidManifest.xml の変更
Application タグの上の方
"Define an <application>tag in the AndroidManifest.xml"のチェックをはずす
3)menu ->Export -> JAR file
※jarの中にAndroidManifest.xmlを含まない
4)出来上がったjarfileの使用方法
現在では ターゲットプロジェクトのlibs にコピーする方法しか成功していない
※外部参照は上手くいかない
2)AndroidManifest.xml の変更
Application タグの上の方
"Define an <application>tag in the AndroidManifest.xml"のチェックをはずす
3)menu ->Export -> JAR file
※jarの中にAndroidManifest.xmlを含まない
4)出来上がったjarfileの使用方法
現在では ターゲットプロジェクトのlibs にコピーする方法しか成功していない
※外部参照は上手くいかない
登録:
投稿 (Atom)