Android Studio Part3
■ このスレッドは過去ログ倉庫に格納されています
>>583 classes.dex でググってみ。 まあほとんどのアプリは難読化してあるから、そのアプリを自分で作れるぐらいのスキルが無いと読み解くこともできないと思うが・・・ 機内モードにしてるとsetwifienabled効かねーのかよ原因探しちゃったわ BTはオンオフできるのに まあ、機内モードの存在を失念して 「わいふぁいがつながらなかったらわいふぁいおんにする」 「ねっとがつながらなかったらわいふぁいおんにする」 「1ぷんでだうんろーどできなかったらわいふぁいおんにする」 とかやるおまぬけさんが多かったので、ユーザーが手指定した機内モードを優越させる処理になってるのだと思う oreoまではできたんだけどな WiFiのみで使う実機で機内モードオンにしとかないと SIMないのに電波探そうとしてバッテリー消費するんだよな すいません相談に乗っていただきたく・・・スレ違いだったらごめんなさい エミュでは正常に起動するんだけど実機デバッグするとDBのテーブルが無いって言われてすぐ落ちてしまいます 初起動時にアセットからSQLiteのDBコピーしてるんですが、adbでパス確認してもちゃんとあるんですよね 新規エミュでも正常に動くのになあ・・・心が折れそう・・・ ちなみにAPKはこれです https://dotup.org/uploda/dotup.org2047779.zip 1台しか持ってないんですが俺の端末が悪いのかなあ >>596 レスありがとうございます! いえSDカードもちゃんと入ってるんですよ・・・ 意図的に古いエミュ機作ってみたんですがちゃんと動くし何が何だかな状態です >>595 ファイルコピーが完了する前に読みに行っている可能性があるかなと思った。 コピー処理はどのようにしてる? i7、メモリ16Gでもエミュレータ起動するとめちゃくちゃ重いな デフォ設定のせい? >>599 重いとはなにかという話にはなる アプリケーションはメモリだけで動くにあらず… >>600 Windows全体の動きが悪くなるんだよ カクカクする なんか変だなって思ってタスク見るとバックグラウンドのエミュが圧倒的にメモリ食い潰してる >>601 Windows Defenderじゃなかった今なんだっけの除外設定はきちんとしてるかい オンボードGPUが悪さしてるとかかなあ >>602 3Dゲーム動くようなグラボだから問題ないはずだけど俺の環境が悪いっぽいな… >>598 レスありがとうございます!なるほどコピー完了前に読みに行ってるのかな・・・ メインクラスのonCreateで DataBaseHelper mDbHelper; mDbHelper = new DataBaseHelper(this); として、DataBaseHelperの中の↓でデータをコピーしています private void copyDataBaseFromAsset() throws IOException{ // asset 内のデータベースファイルにアクセス InputStream mInput = mContext.getAssets().open(DB_NAME_ASSET); // デフォルトのデータベースパスに作成した空のDB OutputStream mOutput = new FileOutputStream(mDatabasePath); // コピー byte[] buffer = new byte[1024]; int size; while ((size = mInput.read(buffer)) > 0) { mOutput.write(buffer, 0, size); } // Close the streams mOutput.flush(); mOutput.close(); mInput.close(); } >>598 デバッグで確認してみたんですが while ((size = mInput.read(buffer)) > 0) { mOutput.write(buffer, 0, size); } できちんとコピー終わってました・・・ adbで取り出してみたんですがコピーはできててテーブルも入ってるんですよねえ もう!!!!! 余計なリソースを読み込まないというshrinkResources trueですが リリース版apkにすると必要なリソースも全然読み込みません 当然apkは使い物になりません どうすればいいですか? >>605 実機と同じバージョンのエミュでも動作する? 実機のapkを一度アンインストールしても同じ? あとはExceptionの内容を書いてみるとなんかわかるかも。 >>607 あああ!OSのバージョン違うエミュだったんですが揃えたところ見事に落ちてくれました・・・ これでちょっと前進できた気がします本当にありがとうありがとう(´;ω;`) Exceptionの内容は該当箇所をかいつまむとこんな感じです E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.aa_man, PID: 23010 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.aa_man/com.example.aa_man.MainActivity}: android.database.sqlite.SQLiteException: no such table: T_MAIN (code 1 SQLITE_ERROR): , while compiling: SELECT ID, TITLE FROM T_MAIN ORDER BY TITLE NDKを入れようとすると何度もfailedになるんだけども、これはバージョンが悪いのかな? AndroidStudioは3.5.3 Move it away manually and try again.. "Install NDK (revision: 21.0.6113669)" complete. "Install NDK (revision: 21.0.6113669)" failed. Failed packages: - NDK (ndk-bundle) Android SDK Build-Toolsにチェックを入れてインストールしてから、 ASを再起動したら、NDKが入りました ただ、確認の為にSDK Managerを立ち上げたらNDKが無くなってたのが不思議 NDK(Side by side)はあるけど、チェック無しです Win10+AndroidStudio3.5.3でC++の部分をブレークポイントでデバッグしたいんだけども、 Debug 'App'(虫マーク)を押すと「Starting LLDB server: 」と出た後に「Operation not permitted」と出てしまいます 何かやり残していることはありますでしょうか? やったこと ・プロジェクトを「Native C++」で新規作成しただけの「Hello from C++」が表示されるだけのサンプルで再現する ・SDKManagerで、NDKとLLDBとCmakeはチェック有り ・build.grandleのbuildTypesのdebugに「debuggable true」を追加、「minifyEnabled false」になってることを確認 ・Helpの「Check for Updates」で全て最新になっていることを確認 ・実機はAndroid9.0(「Waiting For Debugger」が表示され、アプリ単体で起動すれば「Hello from C++」が表示される) android studioでflutter使ってるんですが 関数名を補完したときに()も一緒に挿入されるんですが、 )の右に,も一緒に挿入する方法はありませんか? implementation 'com.android.support:appcompat-v7:28.1.1' implementation 'androidx.appcompat:appcompat:1.1.0' appcompatの前に「androidx」ってつくようになって、バージョン数字もAPIレベルとは違う数字になったけども、 これってバージョン数字はどう考えれば良いのでしょう? x=10で、その派生って考えで合っていますか? 最近実機実行が一度手作業で元のやつをアンインストールしてからじゃないと 実行できなくなった https://developer.android.com/studio/projects/add-native-code?hl=ja#new-project これでプロジェクトを作ると、 「Unable to execute Clang-Tidy: Cannot create property〜」 って出るんだけども、何か間違ってますか? ビルドしても「Hello from C++」っ表示されているから、動いてはいるんだろうけども NOXもAndroidStudioのエミュレーターにできるんですね しかも設定不要で 便利になったもんだ >>617 自分も新しいPCに最新版入れたら同じことが起きた clang-tidy.exeを古いものに入れ替えたら出なくなった androidxに移行した いや、最初失敗して移行するのに3日かかったよ とほほ… Windows10画面左下の「検索するには、ここに入力します」にideaと入力して IntelliJ IDEAを起動させようとしても"failed to load JVM DLL"というダイアログが出て IDEAを起動できない時の対処法 https://teratail.com/questions/131945 解決策:ideaではなくidea64と入力すれば起動できるよ Android Studioが仮想マシンを認識しないことがあるんだけど、使用するポートに関する制限ってあるん? emulater.exeでポート指定せず起動した仮想マシンがドロップダウンリストに出てこないorz -ports 5575,5579と指定したら出てきたんだけど、そういうもん? 大きなのっぽの ずるむけえ おじいさんのちんぽ 100年いつも しごいてきた ごじまんのちんぽさあ メモリ16GBと32GBで快適度は違う? 8GBで起動すると重かった 初回以降で何もライブラリの更新タウンロードが起こらず、プロジェクトファイルがSSDに入ってるという大前提のもとでは、起動の速さはCPUに依存する 起動後のビルドまての動作はだいたいメモリに依存する ビルドの速さはCPUとメモリに依存する なお、プログラミングのいちばんの律速要素は人間である ご自愛くだされい JNI(C++)で double a = 0.1; ってやると a = 0.10000000000000001 ってなるのは、浮動小数点の仕様ですか? Decimalみたいに0.1にする方法はありますか? >>628 >Decimalみたいに0.1にする方法はありますか? 表示する時の問題だけなら、String.formatで桁数を制限して丸める。 本当に0.1=0.1000…の必要があるなら自分でDecimalクラスを作る >>630 返事ありがとうございます。 内部で値の比較(==)に使いたいのですが、この辺りはC++の言語仕様なのですね。 Decimalクラスを作るか、OSSを探してみます。 ありがとうございました。 10進数だろうがなんだろうが 普通演算には誤差が付き物 0.1だけ正しければ良いのなら 固定小数点でも2進浮動小数点を10倍したものでも 10進浮動小数点でも何でも良い 今一番ナウい画像読み込みライブラリって何? glideはもう古い? >>631 小数点以下1桁目だけ比べたいならば、乱暴な方法だけど値を10倍してintにキャストしても できると思うけど 3.6にしたらなんかおかしいな いろいろエラーでてまともにビルドできない、エラーの意味はわからない 今まで内部jdkに設定してたのも設定弄らないといけないみたい 3.0から3.1にした時も色々とエラーが出たな しばらく3.5で様子を見た方がいいのか? VisualStudioのように、例外が発生した場所で強制的にデバッガを中断させる方法を教えてください https://developer.android.com/studio/projects/android-library C++(JNI)をライブラリモジュールにしてAARを作ったんだけども、 AARファイルを呼び出せるのはC++になるのでしょうか? AARをJavaのSystem.loadLibrary()で呼び出すことは出来ますか? 新しいプロジェクト「cpptest」にsoファイルをコピーして実行したら下記エラーが出て java.lang.UnsatisfiedLinkError: No implementation found for int[] sample.test.cpptest.MainActivity.intFromJNI(int[]) ライブラリ作成時のプロジェクト「cppmodule」の関数名にプロジェクト名が入っているので、 ・Java_sample_test_cppmodule_MainActivity_intFromJNI( の「cppmodule」を「cpptest」に書き換えてビルドしてからコピーしたら、System.loadLibrary()で呼び出すことは出来ました ただ毎回新たなプロジェクト名に合わせて関数名を変えてビルドし直すのは面倒ですしヒューマンエラーの元ですし、 プロジェクト名に依存しない汎用的な関数名にすることは出来ないのでしょうか? >>642 >プロジェクト名に依存しない汎用的な関数名にすることは出来ないのでしょうか? 自分は、下記のように関数名の要変更部分をマクロにすることで 一ヶ所だけ変えれば良いようにしてる。 // 関数名の変換マクロ #define JNIFN(x) Java_company_appname_classname_##x : extern "C" JNIEXPORT jboolean JNICALL JNIFN(InitSdCore)(JNIEnv *env, jclass /*type*/, jclass ctx,・・・ : extern "C" JNIEXPORT void JNICALL JNIFN(CancelInit)(JNIEnv* /*env*/, jclass /*type*/, jboolean bSet・・・ 実際に試してみてはないけど、CMakeLists.txt でコンパイラへのコマンドラ インオプションを記述出来るから target_compile_options( -DJNIFN(x) Java_company_appname_classname_##x ) とか記述しとけば、Cソースはノータッチに出来るかも。 >>642 これも試してないけど・・・ static public native void hogehoge(・・・ でnativeへの呼び出し口になってる部分を独立したクラスにして これごと使いまわせば良いんじゃないかなあ。 異なるパッケージのjavaファイルを混ぜる方法はよくわからん・・・ >>643-644 回答ありがとうございます、最初のですと一箇所を変えて毎回soファイルをコンパイルする必要があるのですね native呼び出し部分をパッケージごとクラスにすれば、soファイルは使いまわしが出来るかもしれませんね https://qiita.com/ymmtyuhei/items/7109579210af34ec697c#androidmk モジュールでJNIが使えないのが謎ですが、試してみます >>645 >最初のですと一箇所を変えて毎回soファイルをコンパイル #define JNIFN(x) Java_company_appname_cla・・・の部分だけをxxx.hで 分離しとけばアプリ毎に一回作るだけだし、 最終的にAPKファイルにするにはAS上でビルドする必要があるので、 >soファイルは使いまわし のほうが返って手間がかかりそうな・・・ 個人的意見としては、ネイティブコードの担当者と各アプリの担当者が皆 違うとか、頻繁にC++部に修正が入るとかでないなら、AARにするメリット はあまり無いと思う。 あと、 >https://qiita.com/ymmtyuhei/items/7109579210af34ec697c#androidmk AS2.xとAS3.xではNDK回りは大きく変わっているので、ネットで情報を探す 時は古い情報は役に立たないので要注意。 >>646 丁寧にありがとうございます ネイティブコードは見られたく無いので、soやaarで渡したいかなと NDK回りはAS3.xでかなり変わったのですか 検索する時は1年以内にしているのですが、 怪しい翻訳サイトが数年前のSOを翻訳して載せてるのが結構ひっかかりますね コロナで大変なときに3.6とかやってられない 生き延びたら3.6対応するよ >>648 3.6移行したけど3つの中規模のプロジェクトで問題起きてない いつもNDK絡みで問題起きてたけど今回は無い 正直起動スプラッシュが変わった以外違いがわからん 戸惑ったのはレイアウトのxmlのプレビュー切り替えが右上に移動したぐらいかな 3.6はインスタントランがなぜか機能しなくなったのと ソースの文字の行間が広くておかしい Xamarinで挫折してASにきたけどjavaを覚える労力を込みに考えてもこっちのほうがいいなぁ macでエミュレータがネットワーク通信できないのどーにかしろや 3.6.1にして外部モニタの抜き差しをしたら、 ASがの表示がフリーズして画面が灰色一色になった 他のExcelとかブラウザは普通に表示されているのに 何で次から次に仕様変えるんだよ!!!!! ふざけんじゃねえ!!!!!!! グーグルは仕事が雑だからな 思いつきをよく考えもせずすぐにホイホイ実装する ほんと新しい端末にずっと対応がいるよね 過去のと一貫性なくてチグハグだし Androidのバージョンが上がっても、既にリリース済のアプリはTargetSDKに応 じて同じように動いてくれんるんだから、良心的だと思うが まあGoogle程度の雑さならどこも似たようなもんよ ここよりクソなのはAppleぐらいだ AndroidStudio使うとPCが固まることが多い PCの寿命を縮めてるようで怖い まだ買ったばかりなのに >>663 みたいな人はタスクマネージャの概念がない 自分のパソコンで今何が起きているのかを把握しようとすら考えない >>667 原因不明の家電の不調は「接合部や配線がちょっとずれてる」ことが原因のことがあり その場合はバンバン叩くと結構直る 今時のパソコンでAndroidStudioやVisualStudioが固まるのは、だいたいマカフィーやノートンあたりが悪さしてる Androidの開発だけするなら8GBでもまあなんとかなる エミュも使わずに実機だけでやるなら8GBで余裕 でも、エミュ使って同時にドキュメント書いたり画像ファイル作ったりネットで調べものしたりYoutube見たりいろいろするなら16GB欲しい 4GB64bitのwinタブレットにインストールして使おうと思ったんですが SDKも環境変数も設定してJDKも32、64両方入れて 起動させようとしたんですがアイコンクリックしてもうんともすんとも言わなくて起動できないです 何が原因なんでしょうか? 一応2GBのマシンでも起動だけは確認してるのでメモリのせいではないと思うんですが >>676 あ、なるほどダブルクリックでしたか。 解決しましたありがとうw >>676-677 そんな自演して楽しいかぁ… 3.5はだめでしたが3.4は動きました この両者はたいして変わらないと思ってたけどこんなことあるんですかねえ CPUパワーが足りなくて起動に時間がかかってるのでは 裏で一生懸命動いてたりするよ ダスクマネージャー見てみ 最低限core i5の第4世代以上はあったほうがいい (今の最新は第10世代) -Xmsか-Xmxを下げれば3.5も動くんじゃないかな DEVICE=C:\DOS\EMM386.EXE /HIGHSCAN /NOEMS をすれば動く メモリ8GBでも SSDだから仮想メモリも早いだろうし なんとかなると思ったんだが 画面がバチバチなって真っ暗になって停止した まるで映画のように App Bundle とか署名のところが長々と説明あって読んでも今ひとつわからないな こんにちは Android Studio 3.6 を入れたのですが、タイトルバーのところに、現在開いているファイルのパスが 表示されているのですが、これを消す方法は無いでしょうか? Android アプリの話では無くて、Android Studio 自体の設定の話です 設定ダイアログを見ても、どこに設定があるのかがよく分からなくて タイトルバーとかで検索すると、Android アプリの設定の話ばかり出てきて、見つからないんですよね Android StudioじゃなくIntelliJ IDEAとか他のJetBrains製IDEでググった方がいいんじゃね Full Screen にすれば表示されなくなるぞ タイトルバーのボタンからじゃなくて、メニューの View の Appearance の Enter Full Screen のほう 普通のウィンドウの状態だとたぶん簡単に消す方法は無い plugin とか作ればできるかも ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる