作成者別アーカイブ: setokynet

Visual Studio Code, Flutter


Visual Studio Code で Flutter を利用したAndroidアプリを作成する方法です。

  1. Visual Studio Code の拡張機能から Dart と Flutter をインストールします。
  2. 「表示」-「コマンドパレット」または Ctrl + Shift + P でコマンドパレットを開きます。“Flutter: New Project” を選択します。
  3. 「実行」の「構成を開く」を選択して launch.json ファイルを開きます。
    configurations を空にします。
  4. Android Emulator を開きます。
  5. 「実行」-「デバッグの開始」を選択します。

 

 

Visual Studio Code,React Native


Visual Studio CodeでReact NativeのAndroidアプリをデバッグする方法です。

npm install -g react-native-cliを実行してReact-Native-Cli をインストールします。

Visual Studio Code の 「ターミナル」-「新しいターミナル」を実行してアプリを作成するフォルダーに移動します。react-native init Appを実行します。Appの箇所は任意です。

  1. 拡張機能の React Native Tools をインストールします。
  2. 「実行」の「構成を開く」を選択して launch.json ファイルを開きます。
  3. configurations の内容を削除します。”React Native: エミュレーター上でのAndroidの実行”を選択します。launch.jsonは次のようになります。
    {
    // IntelliSense を使用して利用可能な属性を学べます。
    // 既存の属性の説明をホバーして表示します。
    // 詳細情報は次を確認してください: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
    {
    "name": "Debug Android",
    "cwd": "${workspaceFolder}",
    "type": "reactnative",
    "request": "launch",
    "platform": "android"
    },
    ]
    }

    上記の設定を行わないと「属性 ‘Program’ が絶対(‘extension-output-#6’)ではありません。絶対的なものにするには、プレフィックスとして ‘${WorkspaceFolder}/’ を追加することを考慮してください」のエラーダイアログが表示されます。
  4. App.Js ファイルを開きます。
  5. Android Emulator を開きます。
  6. 「表示」-「コマンドパレット」または Ctrl + Shift + P でコマンドパレット開きます。
  7. “React Native: デバイス上での Android の実行” を選択します。またはターミナルからreact-native run-androidを実行します。
Powershellで 「react-native : このシステムではスクリプトの実行が無効になっているため、ファイル C:\Users\(username)\AppData\Roaming\npm\react-native.ps1 を読み込むことができ
ません。詳細については、「about_Execution_Policies」(https://go.microsoft.com/fwlink/?LinkID=135170) を参照してください。
発生場所 行:1 文字:1
+ react-native run-android」が発生する場合は実行ポリシーを Restrictedから RemoteSigned に変更します。PowerShell Set-ExecutionPolicy RemoteSignedを実行します。
App.js ファイルの const App: () => React$Nodeの箇所で 「any Type annotations can only be used in TypeScript files.ts(8010))」が発生する場合は、settings.json ファイルに "javascript.validate.enable": falseを挿入します。

McAfee Uninstall


マカフィー リブセーフをより確実に削除する方法です。アプリの機能から正常にアンインストールできないときに試してください。

  1. 「設定」-「更新とセキュリティ」-「回復」-「PCの起動をカスタマイズする」の「今すぐ再起動」をクリックして詳細オプションのスタートアップ設定を選択して再起動します。「4.セーフモードを有効にする」を選択するために「4」を押します。
  2. C:\Program Files (x86)\Common Files の McAfee フォルダーを削除またはリネームします。Windows 10を再起動します。
  3. マカフィー・個人向け製品専用削除ツール(MCPR.exe)をダウンロードします。
  4. MCPR.exe を実行します。一度で完全に削除できない場合、もう一度実行します。

「アプリの機能」または「プログラムと機能」の「プログラムのアンインストールまたは変更」またはMCPR.exeを利用して削除しようとした際にマカフィーのサービスをうまく削除できないためにアンインストールが正常に終了しない場合があります。上記の方法でより確実に削除できます。

LINEアプリ


Android版のLINEアプリで「公式アプリではありません。ダウンロードしてください。」等の通知が突然表示されるようになる(公式アカウントではないだったかもしれません。)

スマホを再起動してもLINEアプリを開くたびにこの通知が表示されるので、アップデートに失敗したのかと思い、一度アプリをアンインストールする。

Google Play から LINEアプリをダウンロードして再インストールする。上記の通知は表示されなくなり、電話番号を入力するとSMSが送られてくるがその認証番号を入力してもログイン、引き継ぎができない。Facebook認証でログインを試みるもやはりできない。

PC版のLINEアプリ(Windows, UWP)でログインを試みるも、スマホのLINEアプリに表示される認証番号を入力しないとログインできないので、結局ログインできず。

LINE(お問い合わせ) から引き継ぎができないと送信する。Facebookの設定 -アプリとウェブサイト の「LINE」の確認をクリックして表示される あなたのユーザーID を伝える。

結局解決に2日かかりました。「友達」も復元されていました。

電話番号がうまく登録できていなかったかもしれませんが難儀しました。

Android 8.1を使用しています。


LINEについて

2,3年前に使い始める。うっかりタップして電話帳(連絡先)全員にデータを送信してしまい、その仕様になじめず(Viberも当時同様に送信する仕様だった?)。スタンプをそれなりに使う。

韓国系企業がLINEを運営していると聞いて躊躇う。プライベートなやり取りは少なくなる。

チャットなど企業、各団体のLINE利用が増えてきたので再び利用回数が増える。利用が増える中で今回の不具合に直面しました。

 

Android Studio, SDK Manager menu


Android Studio の Tools メニューで ADK Manager, SDK Manager, Firebase などメニューが表示されない

画面の右下に表示される Framework detected ダイアログの more.. を選択して OK をクリックすると表示されるようになります。

Android Studio, dart, Hard wrap


Android Studio のエディターでdartコードの折り返しを調整する方法です。

File – Settings- Editor – Code Style – Dart の dartfmt タブを選択して Use The dartfmt tools when formatting the whole file のチェックを外します。

Wrapping and Braces タブを選択して Hard wrap at の数値を変更します(既定は80)。120に設定するとコードの1行が120字を超えたときに自動的に改行されます。Containerなどネストが深くなった時にコードが縦長になりにくくなります。

GradleException, androidx.annotation.NonNull


Android StudioでFlutterアプリを作成すると、android/app/build.gradle ファイルの GradleException の箇所、android/app/src/kotlin/ 以下の MainActivity.kt ファイルの androidx.annotation.NonNull の箇所、android/app/src/main/java/io.flutter/plugins/GeneratedPluginRegistrant.java ファイルの import androidx.annotation.Keep の Keep の箇所がそれぞれ赤字で表示されエラーが発生する。

Gradle project sync failed. が発生する。Frameworks Detected. が表示されない。Gradleでサポートされていないプロジェクト 等が表示される。

  1. File – Settings – Kotlin Compiler の Kotlin to JVM – Target JVM Version を 1.6 から 1.8 に変更します。プロジェクトを開きなおします。
  2. File – Project Structure… の Project Setting – Project の Project SDK を <NO SDK> の場合に Android API 28 Platform などに変更します。
  3. android/gradle.properties ファイルを android/app ディレクトリーにコピーします。またはgradle.propertiesを作成します。
  4. プロジェクト内の android/gradle ディレクトリーを android/app// (ProjectRoot) にコピーします。gradle-wrapper.jar ファイルとgradle-wrapper.properties ファイルが含まれます。
  5. プロジェクト内の /.idea, /.dart_tool, /android/.idea, /android/.gradle ディレクトリーを削除します。キャッシュフォルダーと思われますので削除しても問題は発生しません。
  6. %userprofile% の .Android Studio 3.5/system/cache, .gradle ディレクトリーを削除します。

GradleException のエラーは依然として発生する場合があります。

gradle.properties


org.gradle.jvmargs=-Xmx1536M
android.enableR8=true
android.useAndroidX=true
android.enableJetifier=true


以前の投稿です。

Tools – Flutter – Open for Editing in Android Studio を選択します。This Window で問題ないようです。

File – Settings – Kotlin Compiler の Kotlin to JVM – Target JVM Version を 1.6 から 1.8 に変更します。プロジェクトを開きなおします。

File – Project Structure… の Project Setting – Project の Project SDK を <NO SDK> の場合に Android API 28 Platform などに変更します。

File – Invalidate Chches / Restart を選択して Invalidate を実行します。


こちらのサイトの情報 (https://stackoverflow.com/questions/56607089/new-gradle-sync-is-not-supported-due-to-containing-kotlin-modules-using-an-unsup)が参考になりました。なかなか見つからなかった。

Flutter, build.gradle Release


key.properties


keyAlias='key'
keyPassword='<password from previous step>'
storeFile='<location of the key store file, such as /Users//key.jks>'
storePassword='<password from previous step>'

android/app/build.gradle


.....
def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('key.properties')
if (keystorePropertiesFile.exists()) {
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
}
.....
signingConfigs {
release {
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
storeFile file(keystoreProperties['storeFile'])
storePassword keystoreProperties['storePassword']
}
}

buildTypes {
release {
signingConfig signingConfigs.release
minifyEnabled true
useProguard true

proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
.....

Build – Flutter – Build APK を実行すると、flutter storefile path may not be null or empty string. path=’null’ エラーが発生してAPKファイルが生成されません。

(yourProject)/android/app ディレクトリーと (yourProject)/android ディレクトリーに key.properties ファイルと key.jks ファイルを配置します。build.gradle ファイルと同じディレクトリーにそれぞれ配置します。


セキュリティリーの問題がありますが直接指定する方法もあります。


keyAlias 'key'
keyPassword '<password from previous step>'
storeFile file('key.jks')
storePassword '<password from previous step>'

<password from previous step>‘, ‘<password from previous step>‘ 等は実際に使用するパスワードに置き換えます。

Google Play License Verification (LVL)


Android Studio 3.5 でGoogle Play License Verification (LVL) をインポートする方法です。

  1. File – New – Import Module .. を選択して Source directory: に [ANDROID_SDK]/extras/google/market_licensing/library を指定します。Finishをクリックします。プロジェクト内にlibrary ディレクトリーが作成され、インポートされます。
  2. library/src/main/java/com を android/app/src/main/java/com にコピーします。
  3. AndroidManifest.xmlに次の要素を追加します。
<!-- Devices >= 3 have version of Google Play that supports licensing. -->
<uses-sdk android:minSdkVersion="3" />
<!-- Required permission to check licensing. -->
<uses-permission android:name="com.android.vending.CHECK_LICENSE" />

Visual Studio, Debugger


Visual Studio でデバッガーの起動が遅くなった。

プロジェクトのフォルダー内の .vs ディレクトリーを削除します。

Windows 10 1903


2019年10月25日にWindows Updateを通じて Windows 10 1903 (Windows 10 May 2019 Update)のダウンロードが始まりました。Windows10 Media Creation Tool、ISOファイルからインストールすることも可能ですが、Windows Updateの配布を待ったほうがより安定した状態で使用できます。強制的に始まったPCと「今すぐダウンロードしてインストールする」をクリックしてから始まったPCが存在しました。いつの間にか「Windows 10 Version 1903の機能更新プログラム まもなく、Windows 10 May 2019 Updateがリリースされます。… 」 「詳細はこちら」ボタンが「今すぐダウンロードしてインストールする」に代わっていました。

Windows Updateでは失敗してWindows10 Media Creation Toolで成功したPC、反対にWindows10 Media Creation Toolでは失敗してWindows Updateでは成功したPCもありましたが、無事 Windows 10 1903 に更新できました。

Windows 10 1909のインストールも無事完了しました。再起動後にもう一度再起動します。

Flutter


Android Studioで実機に接続できない

flutter doctor を実行してライセンスに問題がある場合に flutter doctor --android-licensesを実行してすべてyesを選択します。RSA 鍵を受け入れる を選択します。

Event 10035, COM


COM 標準マーシャラーが、サーバーによって提供された IID {618736E0-3C3D-11CF-810C-00AA00389B71} と、クライアントによって要求された IID {00020400-0000-0000-C000-000000000046} の不一致を解決できませんでした。ハンドラー: CLSID {01610BB8-0D38-0161-0000-000000000000}。エラー コードは 0x800401fd です。

HKEY_CLASSES_ROOT\CLSID\{0000030B-0000-0000-C000-000000000046}\InprocServer32 の既定の値をcoml2.dll から C:\Windows\System32\coml2.dll に、HKEY_CLASSES_ROOT\WOW6432Node\CLSID\{0000030B-0000-0000-C000-000000000046}\InprocServer32 の既定の値を coml2.dll から C:\Windows\SysWOW64\coml2.dll にそれぞれ変更します。

CLSID が {00F657F8-5978-00F6-0000-00004C0D0677} に代わって依然としてエラーが発生する場合があります。

Event 10016, CLSID


アプリケーション固有 のアクセス許可の設定では、CLSID
{2593F8B9-4EAF-457C-B68A-50F6B8EA6B54}
および APPID
{15C20B67-12E7-4BB6-92BB-7AFF07997402}
の COM サーバー アプリケーションに対するローカルアクティブ化のアクセス許可を、アプリケーション コンテナー 利用不可 SID (利用不可) で実行中のアドレス LocalHost (LRPC 使用) のユーザー (ComputerName)\(UserName) SID (S-1-5-21-xxxxxxxxxx-xxxxxxxxxx-xxxxxxxxxx-xxxx) に与えることはできません。このセキュリティ アクセス許可は、コンポーネント サービス管理ツールを使って変更できます。

HKEY_CLASSES_ROOT\CLSID\{00000320-0000-0000-C000-000000000046}\InprocServer32 の既定の値をcombase.dll から C:\Windows\System32\combase.dll に、HKEY_CLASSES_ROOT\WOW6432Node\CLSID\{00000320-0000-0000-C000-000000000046}\InprocServer32 の既定の値を combase.dll から C:\Windows\SysWOW64\combase.dll にそれぞれ変更します。

依然としてエラーが発生する場合がありますが、ほかのCLSIDのInprocServer32の既定の値も同様に変更すると発生しなくなるかもしれません。

Windows 10 May 2019 Update


Windows 10 May 2019 Updateの影響で2019年7月29日は通信速度の遅い状態が続きました。 Windows 10 May 2019 Updateのダウンロードの影響のようです。Windows 10 メディア作成ツールを実行すると500kbpsほどしか速度がでません。翌朝ダウンロードしたところ6Mbpsから70Mbpsの速度が出ました。