1. ホーム
  2. android

Androidで発生した問題、解決策とヒント

2022-02-08 17:38:38
<パス

1. Shape の solid プロパティの色値を動的に変更する。

通常、xmlではShapeを多用しますが、開発では同じShapeを共通で使い、背景色を変えたいと思うことがあります。

// For example.
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <corners android:radius="5dp" />
    <solid android:color="@color/white" />
</shape>


解決策

// We go to dynamically modify the background color in the Activity, so we don't need to rewrite a new shape. Isn't that convenient?
GradientDrawable drawable = (GradientDrawable)view.getBackground();
drawable.setColor(getResources().getColor(color));



2. android studioで新規プロジェクトを作成してもビルドされない 解決済み

主な原因ですが、多分Android studioのバージョンが対応していないか、壁になっているのだと思います。ダウンロードがうまくいかない グラドル のバージョンが低いので 構築

まずファイルパッケージのアドレスを探します。
C:\UsersAdministrator.gradle³³³³dists
これは私のアドレスです。

解決策、新しいプロジェクトを見つける

distributionUrl=...の中のパラメータを変更します。

#Fri Jan 06 12:40:33 CST 2017
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip


ということを前提に覚えておいてください。 gradle-2.10-all ファイルが空でない場合は、まだ ビルド .
もう一つの方法は、(https://services.gradle.org/distributions)にアクセスして、同じバージョンの グラドル をC:UsersAdministrator.gradle⇄wrapper⇄distsフォルダーにコピーしてください。
修正し終わった後に、再び、以下のようなエラーが発生する可能性があります。

Gradle の同期に失敗しました。このプロジェクトでは、別の「プロジェクトの更新」タスクが現在実行中です。C:\UsersAdministrator⇄Desktop⇄Deyijia1
詳細はIDEログを参照(ヘルプ|ログの表示)
では、Android studioをオフにして、次のようなものを探してみましょう。 ログ ログを表示します。すべて削除する


3. JNI コンパイル時エラー GBK マップ不能文字のエンコード 解決策

このエラーの原因は、JDKが国際的であるため、コンパイル時にJAVAソースプログラムのエンコード形式を-encodingパラメータで指定しないと、javac.exeはまずOSがデフォルトで使用するエンコード形式を取得するためです。

回避策 エンコード方式は、-encoding パラメータで指定する必要があります(例.

javah -jni -encoding UTF-8 com.example.XXXX.XXXX.MainActivity


4. AU WeChat決済ジャー衝突

<ブロッククオート

もしあなたがWeChatのライトバージョンを使っているなら、支払い関連のコンテンツはありません。支払いを追加するには、umengwx jarを削除して(weixin2を残す)WeChatネイティブjarを入れてください。WeChat のフルバージョンを使用している場合、weixin1 jar と WeChat ネイティブ sdk は同じ jar です(名前が違うだけです)ので、一貫したバージョンを確保するために weixin1 jar を使用し、WeChat ネイティブ sdk を削除して支払いを実現するようにしてください。

理由 libammsdk.jar , SocialSDK_WeiXin_1.jar の場合、どちらのパッケージも同じ a.class ファイルを作成します。

エラー報告コードです。

Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug'.
> com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: com/tencent/mm/opensdk/a/a/a$a. class


上の段落はauの解答ですが、ちょっと固い感じです

注)私が使っているのは フルバージョン . ただ libammsdk.jar , SocialSDK_WeiXin_Full.jar この2つのjarパッケージは、オリジナルの SocialSDK_WeiXin_1.jar, SocialSDK_WeiXin_2.jar パッケージを使用するため、WeChat の支払い呼び出しに失敗します。

最終的な解決策としては SocialSDK_WeiXin_1.jar, SocialSDK_WeiXin_Full.jar 2つのパッケージが競合することはありません。その他の古いパッケージはすべて破棄します。

5. [Android】WebViewでhttpsのページを読み込むとリソースが正しく表示されない問題

このアドレスにジャンプ: http://blog.csdn.net/crazy_zihao/article/details/51557425

6. ImageView (fitXY)プロパティ

fitXY この画像表示の効果は、ImageViewで設定されたサイズに応じて画像がスペースいっぱいに引き伸ばされ、(このプロパティだけを設定した場合)画像が歪むことである。
adjustViewBoundsは、表示時に画像を元の縮尺に制限します。(適応的な効果を得るために、fitXY表示と一緒に使用されます。)

7. java.lang.IndexOutOfBoundsException: 矛盾が検出されました。項目の位置が無効です。

java.lang.IndexOutOfBoundsException: Inconsistency detected. Invalid item position 157(offset:157).state:588
               at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:3300)
               at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:3258)
               at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:1803)
               at android.support.v7.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1302)
               at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1265)
               at android.support.v7.widget.LinearLayoutManager.scrollBy(LinearLayoutManager.java:1093)
               at android.support.v7.widget.LinearLayoutManager.scrollVerticallyBy(LinearLayoutManager.java:956)
               at android.support.v7.widget.RecyclerView$ViewFlinger.run(RecyclerView.java:2715)
                at android.view.Choreographer$CallbackRecord.run(Choreographer.java:725)
                at android.view.Choreographer.doCallbacks(Choreographer.java:555)
                at android.view.Choreographer.doFrame(Choreographer.java:524)
                at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:711)
                at android.os.Handler.handleCallback(Handler.java:615)
                at android.os.Handler.dispatchMessage(Handler.java:92)
                at android.os.Looper.loop(Looper.java:137)
                at android.app.ActivityThread.main(ActivityThread.java:4921)
                at java.lang.reflect.Method.invokeNative(Native Method)
                at java.lang.reflect.Method.invoke(Method.java:511)
                at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1027)
  

解決策 http://www.apkbus.com/blog-898535-67963.html

8. recycleview を使用すると、アイテムレイアウトが縦長になり、レイアウトの問題が表示しきれなくなります。

<ブロッククオート

確認したところ、主にレイアウトの一番外側のレイヤーに android:layout_height="match_parent" 属性が使用されているため を描画します。 を使用すると、同時に1画面しか描画しません。レイアウトの一番外側のプロパティを **android:layout_height="wrap_content "** とすることで、不完全な描画の問題は発生しなくなるのです。

9.Translation1.3.6 アプリケーションIDおよびアプリケーションキーの設定

  1. この URL で http://ai.youdao.com にログインし、アカウント登録とログインを行います。
  2. 探す アプリケーション管理 -- マイアプリ -- アプリを作成する
  3. 奇跡を目の当たりにする時が来た、2つの画像を投げる

次は、私が多くを語らずとも、仕事に取り掛かる時間です。

#Error:(176, 13) 解決に失敗しました。
**一般的な理由は、参照されたダウンロードアドレスに問題があり、gradleが見つからなかったということです。** つまり、build.gradleファイルのmavenアドレスを直接変更する必要があるということです。

 repositories {
        jcenter()
// maven {
// url 'http://maven.aliyun.com/nexus/content/groups/public'
// }
        maven {
            url 'https://maven.google.com/'
        }
    }


10. java.lang.NoClassDefFoundError: Android 5.0以下の場合

原因は、プロジェクトのメソッド数が dexは65535の制限を突破 .
をオンにしました。 multiDexEnabled true でありながら アプリケーション の内部で初期化されません。 MultiDex.install(ベース) というエラーが報告されます。
アプリケーション クラスを実装し、このメソッドを追加します。

  @Override
    protected void attachBaseContext(Context base) {
        super.attachBaseContext(base);
        MultiDex.install(base);
    }


解答: https://www.jianshu.com/p/8b4f711da0bb

11. java.lang.NoClassDefFoundError: の解決に失敗しました。Lcom/ta/utdid2/device/UTDevice の解決に失敗しました。

AU SDKを使用する場合、パッケージが導入されていないかどうか確認することができます

compile 'com.umeng.sdk:utdid:1.1.5.3'


Android Studio 3.0 以降は、以下のように記述します。

implementation 'com.umeng.sdk:utdid:1.1.5.3'


それでもエラーになる場合は、Aliさんのパッケージと競合している可能性があります。解決方法
にジャンプしてください。 https://help.aliyun.com/knowledge_detail/55956.html

12.AU Device_tokenに関連する問題が解決されない [Android版

解決方法
にジャンプしてください。 http://bbs.umeng.com/thread-15233-1-1.html

13. WordRoomDatabase の実装が見つかりませんでした。WordRoomDatabase_Impl が存在しない。

での問題。

  1. そのプロジェクトでは コトリン は、その
    があるかどうか確認してください。 build.gradle ファイルが正しいかどうかを確認するために
apply plugin: 'com.android.application'

apply plugin: 'kotlin-android'

apply plugin: 'kotlin-android-extensions'

//apply plugin: 'kotlin-kapt'

android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "com.zy.wanandroid"
        minSdkVersion 21
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.
    VERSION_1_8}
}

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    implementation 'com.android.support:design:28.0.0'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'

    implementation 'com.android.support:recyclerview-v7:28.0.0'
    implementation 'io.reactivex.rxjava2:rxjava:2.2.3'
    implementation 'io.reactivex.rxjava2:rxandroid:2.1.0'

	// mainly these three, you have to see if they are consistent, if they are used correctly, if you use kotlin one of the three is missing
    implementation "android.arch.persistence.room:runtime:1.1.1"
    // notice that the suffix is different room:compiler
    annotationProcessor "android.arch.persistence.room:compiler:1.1.1"
    kapt "android.arch.persistence.room:compiler:1.1.1"
    
    implementation 'android.arch.lifecycle:extensions:1.1.1'
    implementation "android.arch.navigation:navigation-fragment:1.0.0-alpha07"
    implementation "android.arch.navigation:navigation-ui:1.0.0-alpha07"

}




14. io.reactivex.exceptions.UndeliverableException: コンシューマがすでにフローをキャンセル/廃棄しているか、そもそも例外の行き場がないため、例外をコンシューマに引き渡せなかった。さらに読む: https://github.com/ReactiveX/RxJava/wiki/What's- different-in-2.0# different-in-2.0#error-handling | kotlin.NotImplementedError.NotImplementedError.NotImplementedError.NotImplementedError.NotImplementedError: ある操作は実装されていません: 未実装

解決策 https://blog.csdn.net/lmh820822/article/details/76854411

RuntimeException: Unable to start activity ComponentInfo{xxxActivity}: java.lang.IllegalStateException: フルスクリーンの不透明なアクティビティだけが、方向を要求できます。

原因分析
targetsdk26+, transparent theme activityの場合、マニフェストでandroid:screenOrientationを設定することができない。
詳細な解析はこちらをご覧ください
https://zhuanlan.zhihu.com/p/32190223
ソリューション
エラーを報告しているアクティビティが、AndroidManifest で android:screenOrientation を宣言しているかどうかを確認し、宣言している場合はそれを削除する必要があります。

16.OKHttp例外java.lang.IllegalStateException: デバッグで落とし穴に遭遇して終了

解決のためのアドレス https://blog.csdn.net/u012587005/article/details/78504925

17.8.0適応のAndroid多言語スイッチ

解決のためのアドレス https://www.jianshu.com/p/f56e30b6f631
具体的な理由としては、8.0以上の場合、システムがActivityのコンテキストを使用する必要があるためです。

18. android Typeerror:Cannot read property 'xxxx' null

解決アドレスです。 https://www.e-learn.cn/content/wangluowenzhang/651768

19.AndroidのAPIレベルが21以上と予想されていましたが、19でした。

お使いのOkhttpのバージョンが正しいかどうかご確認ください。
実装 'com.squareup.okhttp3:logging-interceptor:3.14.0' を参照してください。 に変更します。
実装 'com.squareup.okhttp3:logging-interceptor:3.12.0'. バージョンダウンの必要性

20. android studio terminal git log messy code problem solution

ターミナル入力:LESSCHARSET=utf-8を設定します。

21. java.lang.IllegalArgumentException: メソッド kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull, パラメータ favicon.

解決策 https://blog.csdn.net/jia635/article/details/81068866

22. シグネチャークレームを適用する

jarsigner -verbose -keystore [ ]。 鍵のファイルパス C:\sign_verification -keystore -signedjar [ ]C:³³,000,000(税込)。 パッケージング後のパッケージ名とパス ]meizu.apk [ 無署名パッケージ名 ]meizuemptyapk-release-unsigned.apk [ キーのエイリアス ] meizu

23. AndroidStudio が新しい Flutter プロジェクトを表示しない

解決策:https://www.jianshu.com/p/ebaf065d7b1c

24.Android 9.0インストーラのパースエラーについて

解決方法:https://blog.csdn.net/keep_my_mine/article/details/101025819

25.WebView、loadUrlの2回目の呼び出しでページがリフレッシュされない

解決策:https://blog.csdn.net/qq_26225663/article/details/100557671

26. Googleアプリマーケットプレイス代替キースキーム

https://support.google.com/googleplay/android-developer/contact/otherbugs
カスタマーサービスとやり取りし、Googleからの正式な返信メールを待ちます。内容は以下の通りです。

この鍵の証明書を PEM フォーマットでエクスポートします。
keytool -export -rfc -alias upload -file upload_certificate.pem -keystore keystore.jks
このコードを実行すると、PEMファイルを生成することができます。それをGoogleの公式メールアドレスに送ればOK

27.Android バッジを挿入する権限がない パーミッション クラッシュ

状況はちょっと変で、Sonyのモデルだけがこのパーミッションエラーのプロンプトが表示され、いろいろ検索して、最終的にAndroidManifest.xmlにいくつかの特別なモデルのパーミッションを追加する必要があることがわかりました。本題に入りますと、こんな感じです。

<! -- START: ShortcutBadger -->
<! -- Samsung -->
<uses-permission android:name="com.sec.android.provider.badge.permission.READ"/>
<use-permission android:name="com.sec.android.provider.badge.permission.WRITE"/>

<! -- HTC -->
<uss-permission android:name="com.htc.launcher.permission.READ_SETTINGS"/>
<use-permission android:name="com.htc.launcher.permission.UPDATE_SHORTCUT"/>

<! -- Sony -->
<uses-permission android:name="com.sonyericsson.home.permission.BROADCAST_BADGE"/>
<use-permission android:name="com.sonymobile.home.permission.PROVIDER_INSERT_BADGE"/>

<! -- Apex -->
<use-permission android:name="com.ances.launcher.permission.UPDATE_COUNT"/>

<! -- Solid -->
<use-permission android:name="com.majeur.launcher.permission.UPDATE_BADGE"/>

<! -- Huawei -->
<use-permission android:name="com.huawei.android.launcher.permission.CHANGE_BADGE" />
<use-permission android:name="com.huawei.android.launcher.permission.READ_SETTINGS" />
<use-permission android:name="com.huawei.android.launcher.permission.WRITE_SETTINGS" />
<! -- End: ShortcutBadger -->




28. Android-Deviceはx86をサポートしていますが、APKはarmeabi-v7a、armeabi、x86_64のみをサポートしています。

解決策 https://blog.csdn.net/qq_34476727/article/details/74910379

29. java.io.FileNotFoundException: /storage/emulated/0/

このバグの具体的な原因は、現在のプロジェクトがバージョン番号29に相当するAndroid Qを使用しているためです
解決策 https://www.jianshu.com/p/3159f2c5b2a1

30. android 10 パーミッションが拒否されました。

解決方法 https://blog.csdn.net/wuqingsen1/article/details/104752459/

31. Android Studio リアルワイヤレスデバッギング

チュートリアルを使って https://www.cnblogs.com/chenlove/p/12327964.html

32.Android11のアプリ側適応ポイント

https://juejin.im/post/6890811621724618765

33.Android Studioのシンボル更新

https://stackoverflow.com/questions/39640433/android-studio-2-x-building-symbols-forever

-Xms256m
-Xmx8192m
-XX:ReservedCodeCacheSize=2048m
-XX:+UseCompressedOops
-XX:MaxPermSize=4096m


ヘルプ]をクリック - [カスタムVMオプションの編集]をクリック - 上記のコードを追加します。
主な原因は、android studioが不十分なメモリ割り当てで動作しているため、読み込みが遅すぎることです。
``

34. Android側、QQの一時的なチャットウィンドウを呼び出す

       val urlQq = "mqqwpa://im/chat?chat_type=wpa&uin=enter QQ number&version=1&src_type=web&web_src=oicqzone.com"
        val intent = Intent(Intent.ACTION_VIEW, Uri.parse(urlQq))
        startActivity(intent)


35. [SSI10004] Twitterの共有Webページタイプで、リンクがWeiboで"Web link"テキストとしてのみ表示される。

問題の説明

Twitterの共有WebPageタイプで、Weiboではリンクが"Web link"のテキストとしてのみ表示されます。

解決方法

これは微博のモバイルアプリ事業協力の一環で、モバイルSDKのLinkCardと添付バーは微博と統合して共有許可を申請する必要があり、ドッキングのために微博事業に連絡してください:[email protected]

解決のためのアドレス https://developer.umeng.com/docs/128606/detail/129488?spm=a311a.7996332.0.0.35323080nYHX02

36. Huawei honor 8.0はアプリの解決策を開くことができません

1. マニフェストでアクティビティにこのプロパティが設定されている場合

android:screenOrientation="portrait"


この属性を削除し、代わりにコードで設定します。

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);


2. このプロパティがテーマで使用されている場合、問題を解決するためにそれも削除してください。

<item name="android:windowIsTranslucent">true</item>


元の投稿アドレス https://www.jianshu.com/p/f56e094b3ffb

37. クラス name.kropp.intellij.makefile.MakefileLanguage を初期化できませんでした。

このプラグインを無効にすると、Android studio が停止します。
解決方法 https://segmentfault.com/a/1190000039350707