标签: android

错误:无法初始化类com.android.sdklib.repository.AndroidSdkHandler

我已经在Windows上设置了本地响应环境.但是当我运行命令时

react-native run-android
Run Code Online (Sandbox Code Playgroud)

我收到以下错误 -

* What went wrong:
A problem occurred configuring project ':app'.
> Failed to notify project evaluation listener.
   > Could not initialize class com.android.sdklib.repository.AndroidSdkHandler
Run Code Online (Sandbox Code Playgroud)

我该如何解决?

android react-native react-native-android

36
推荐指数
5
解决办法
2万
查看次数

如何获得Kotlin当前的当地日期和时间

如何在当地时间Kotlin获取当前日期(日月和年)和时间(小时,分钟和秒)?

我试过了,LocalDateTime.now()但它给了我一个错误的说法Call requires API Level 26 (curr min is 21).

我怎么能在Kotlin得到时间和约会?

datetime android kotlin

36
推荐指数
8
解决办法
5万
查看次数

3.1.0更新后,Android Studio无法生成数据绑定

今天早上我做了android studio从3.0.1到3.1.0 的更新.更新gradle到最新版本后,我仍然遇到有关数据绑定的构建错误.

我的gradle-wrapper.properties:

distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip
Run Code Online (Sandbox Code Playgroud)

我的所有错误都如下所示:

/Users/mp/Documents/GitHub/projectx/app/build/generated/source/dataBinding/baseClasses/Staging/debug/me/projectx/asdasd/databinding/GridItemActivityTypeBinding.java:57: error: cannot find symbol
      @Nullable DataBindingComponent component) {
                ^
  symbol:   class DataBindingComponent
  location: class GridItemActivityTypeBinding
Run Code Online (Sandbox Code Playgroud)

有没有人知道为什么我的数据绑定不会在android studio 3.1更新后生成?提前致谢

编辑1:忘了说,我试过清理/重建/无效缓存和重启/删除构建文件夹.

android android-studio android-studio-3.1

36
推荐指数
4
解决办法
3万
查看次数

程序类型已存在:android.support.v13.view.DragAndDropPermissionsCompat

我将Android studio更新为3.1,更新后出现此错误:

 Program type already present: android.support.v13.view.DragAndDropPermissionsCompat
    Message{kind=ERROR, text=Program type already present: android.support.v13.view.DragAndDropPermissionsCompat, sources=[Unknown source file], tool name=Optional.of(D8)}
Run Code Online (Sandbox Code Playgroud)

org.gradle.api.tasks.TaskExecutionException:任务':app:transformDexArchiveWithExternalLibsDexMergerForDebug'的执行失败.

引起:java.lang.RuntimeException:com.android.builder.dexing.DexArchiveMergerException

引起:com.android.tools.r8.CompilationFailedException:编译未能完成>

 org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'.
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:100)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:70)
    at org.gradle.api.internal.tasks.execution.OutputDirectoryCreatingTaskExecuter.execute(OutputDirectoryCreatingTaskExecuter.java:51)
    at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:62)
    at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54)
    at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:60)
    at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:97)
    at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:87)
    at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:52)
    at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
    at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54)
    at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
    at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker$1.run(DefaultTaskGraphExecuter.java:248)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:241)
    at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:230)
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.processTask(DefaultTaskPlanExecutor.java:123)
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.access$200(DefaultTaskPlanExecutor.java:79)
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:104)
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:98)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.execute(DefaultTaskExecutionPlan.java:626)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.executeWithTask(DefaultTaskExecutionPlan.java:581)
    at …
Run Code Online (Sandbox Code Playgroud)

java android firebase

36
推荐指数
2
解决办法
2万
查看次数

无法获取提供者com.google.android.gms.ads.MobileAdsInitProvider:java.lang.IllegalStateException:为什么?

我将我的Android Studio(3.2.1)及其sdk更新到最新版本.之后,它需要通过添加这些标记手动更新Manifest:

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@drawable/ic_launcher"
    android:supportsRtl="true"
    android:theme="@style/AppTheme"
    tools:ignore="AllowBackup,GoogleAppIndexingWarning">

    <meta-data
        android:name="com.google.android.gms.ads.APP_ID"
        android:value="ca-app-pub-#############"/>

    <activity android:name=".MainActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name=".NewActivity" />
    <activity android:name=".PreviewActivity" />
    <activity android:name=".EditActivity" />
    <activity
        android:name=".preferencesdata.AboutActivity"
        android:theme="@style/Theme.AppCompat.DayNight.NoActionBar" />
    <activity android:name=".preferencesdata.SettingsActivity"
        android:label="@string/settings">
        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value=".MainActivity"/>
    </activity>
</application>
Run Code Online (Sandbox Code Playgroud)

相反,应用程序ID我把我的应用程序的真实ID.该值也已更改为正确的广告单元ID,如https://developers.google.com/admob/android/quick-start所示.我还在MainActivity.kt中调用了这个函数:

MobileAds.initialize(this, resources.getString(R.string.banner_ad_unit_id)) 
Run Code Online (Sandbox Code Playgroud)

但是,问题无法解决.它仍然打印如下:

E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.easyapps.cryptnote, PID: 3991
    java.lang.RuntimeException: Unable to get provider com.google.android.gms.ads.MobileAdsInitProvider: java.lang.IllegalStateException: 

    ******************************************************************************
    * The Google Mobile Ads SDK was initialized incorrectly. AdMob publishers    *
    * …
Run Code Online (Sandbox Code Playgroud)

sdk android ads kotlin

36
推荐指数
7
解决办法
4万
查看次数

手动清除Android ViewModel?

参考android.arch.lifecycle.ViewModel课程.

ViewModel限定在与其相关的UI组件的生命周期中,因此在Fragment基于应用程序的应用程序中,这将是片段生命周期.这是一件好事.


在某些情况下,人们想要ViewModel在多个片段之间共享实例.具体而言,我对许多屏幕与相同基础数据相关的情况感兴趣.

(当多个相关片段显示在同一个屏幕上时,文档提出了相似的方法,但这可以通过使用单个宿主片段来解决,如下面的答案所示.)

这在官方ViewModel文档中讨论:

ViewModels还可以用作活动的不同片段之间的通信层.每个Fragment都可以通过其Activity使用相同的密钥获取ViewModel.这允许以解耦方式在片段之间进行通信,使得它们永远不需要直接与其他片段对话.

换句话说,要在表示不同屏幕的片段之间共享信息,ViewModel应将其范围限定为Activity生命周期(并且根据Android文档,这也可以在其他共享实例中使用).


现在,在新的Jetpack导航模式中,建议使用"One Activity/Many Fragments"架构.这意味着活动在应用程序使用的整个过程中都存在.

即任何ViewModel作用于Activity生命周期的共享实例永远不会被清除 - 内存仍然在不断使用.

为了保留内存并在任何时间点使用尽可能少的内容,能够ViewModel在不再需要时清除共享实例会很好.


如何ViewModel从它ViewModelStore或持有者片段手动清除?

android android-viewmodel android-architecture-components android-jetpack

36
推荐指数
5
解决办法
7780
查看次数

预期 @HiltAndroidApp 具有值。您是否忘记应用 Gradle 插件?

我有谷歌这个问题,但结果对我不起作用。

详情如下。

    public final class App extends com.zhixin.wedeep.common.BaseApplication implements androidx.lifecycle.LifecycleOwner {
                 ^
     // Expected @HiltAndroidApp to have a value. Did you forget to apply the Gradle Plugin?

Run Code Online (Sandbox Code Playgroud)

应用程序代码。

@HiltAndroidApp
class App : BaseApplication(), LifecycleOwner {

    @Inject
    lateinit var service: EventService


    private val mLifecycleRegistry = LifecycleRegistry(this)

}


Run Code Online (Sandbox Code Playgroud)

此模块 gradle 文件。

apply plugin: 'kotlin-kapt'
apply plugin: 'kotlin-allopen'
apply plugin: 'androidx.navigation.safeargs.kotlin'
apply plugin: 'dagger.hilt.android.plugin'

dependencies {
    implementation rootProject.ext.dependencies["hilt-android"]
    implementation rootProject.ext.dependencies["hilt-lifecycle-viewmodel"]
    kapt rootProject.ext.kapt["hilt-compiler"]
    kapt rootProject.ext.kapt["hilt-android-compiler"]
}
Run Code Online (Sandbox Code Playgroud)

谁有想法?谢谢!

android dagger-2 dagger-hilt

36
推荐指数
4
解决办法
7495
查看次数

Android 模拟器 AVD 的模拟器进程被终止。视窗英特尔

模拟器停止运行。配置:Windows 10、英特尔、HAXM​​ 安装、虚拟化开启、GPU 软件、模拟器重新安装。刚一开机,就出现这个错误(AVD的模拟器进程被杀了),模拟器甚至不出现

在此处输入图片说明

android android-emulator

36
推荐指数
9
解决办法
7万
查看次数

Jetpack Compose 将参数传递给 viewModel

我们如何将参数传递给viewModelin Jetpack Compose

这是我的可组合项

    @Composable
    fun UsersList() {
      val myViewModel: MyViewModel = viewModel("db2name") // pass param like this
    }

Run Code Online (Sandbox Code Playgroud)

这是viewModel

    class MyViewModel(private val dbname) : ViewModel() {
        private val users: MutableLiveData<List<User>> by lazy {
            MutableLiveData<List<User>>().also {
                loadUsers()
            }
        }
    
        fun getUsers(): LiveData<List<User>> {
            return users
        }
    
        private fun loadUsers() {
            // Do an asynchronous operation to fetch users.
        }
    }
Run Code Online (Sandbox Code Playgroud)

android kotlin android-viewmodel android-jetpack-compose

36
推荐指数
3
解决办法
2万
查看次数

运行“react-native run-android”时出错

运行我的本机代码时react-native run-android出现错误。它工作正常。但是在从 git 中获取新的 pullnpm ci并且在我运行之后然后收到这个错误。

error Failed to install the app. Make sure you have the Android development environment set up: https://reactnative.dev/docs/environment-setup.
Error: Command failed: gradlew.bat app:installDebug -PreactNativeDevServerPort=8081

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:checkDebugAarMetadata'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.CheckAarMetadataWorkAction
   > The minCompileSdk (30) specified in a
     dependency's AAR metadata (META-INF/com/android/build/gradle/aar-metadata.properties)
     is greater than this module's compileSdkVersion (android-29).
     Dependency: androidx.core:core:1.7.0-alpha01.
     AAR metadata file: C:\Users\gauraab\.gradle\caches\transforms-2\files-2.1\9e02d64f5889006a671d0a7165c73e72\core-1.7.0-alpha01\META-INF\com\android\build\gradle\aar-metadata.properties.
Run Code Online (Sandbox Code Playgroud)

javascript android android-sdk-2.3 react-native

36
推荐指数
5
解决办法
1万
查看次数