小编kin*_*ton的帖子

升级本机库在Android上不起作用

我有一个使用本机库(.so)的应用程序.在新版本的应用程序中,我在lib中进行了更改.问题是升级应用程序后,看起来好像没有加载新库.如果我强制停止应用程序,然后我重新启动它一切正常.在某些情况下,等待一段时间(例如20分钟)可以解决问题.

有没有人遇到过这个问题?有办法解决吗?

编辑 我也试过打电话

System.loadLibrary("mylib.so");
Run Code Online (Sandbox Code Playgroud)

在OnUcegradeReceiver的onReceive中,它是在应用程序升级时注册被调用的广播接收器它没有帮助

EDIT2

我认为这个问题与lib使用音频引擎的事实有关.我之所以这么认为是因为我试图更改lib的名称,但它也没有帮助

android android-ndk

10
推荐指数
1
解决办法
215
查看次数

适用于 Android 12 预览版的模拟器无连接

我已经安装了 Android 12 Preview 模拟器。我遇到了很多问题,因为模拟器在启动时崩溃,但是在卸载并再次安装并重新启动机器等之后,我设法启动了它。我现在遇到的问题是互联网连接不起作用。所有其他模拟器都可以正常工作。我试图从命令行启动模拟器来设置 dns

~/Library/Android/sdk/emulator/emulator -avd Pixel_5_API_S -dns-server 8.8.8.8 
Run Code Online (Sandbox Code Playgroud)

我得到的是网络仍然不工作,我可以看到很多日志:

vqParseGuestToHostRequestLocked:734 {src_port=2489684015 dst_port=4294967295} 意外的 dst_port

vqParseGuestToHostRequestLocked:734 {src_port=2489684016 dst_port=4294967295} 意外的 dst_port

vqParseGuestToHostRequestLocked:734 {src_port=2489684017 dst_port=4294967295} 意外的 dst_port

vqParseGuestToHostRequestLocked:734 {src_port=2489684018 dst_port=4294967295} 意外的 dst_port

这是我正在使用的模拟器:

Name: Pixel_5_API_S
CPU/ABI: Google APIs Intel Atom (x86_64)
Path: /Users/username/.android/avd/Pixel_5_API_S.avd
Target: google_apis [Google APIs] (API level S)
Skin: pixel_4
SD Card: 512M
fastboot.chosenSnapshotFile: 
runtime.network.speed: full
hw.accelerometer: yes
hw.device.name: pixel_5
hw.lcd.width: 1080
image.androidVersion.codename: S
hw.initialOrientation: Portrait
image.androidVersion.api: 30
tag.id: google_apis
hw.mainKeys: no
hw.camera.front: emulated
avd.ini.displayname: Pixel 5 API …
Run Code Online (Sandbox Code Playgroud)

android android-emulator android-12

10
推荐指数
1
解决办法
635
查看次数

缺少在Ubuntu上构建Android的符号

我按照source.android.com上的说明构建了Android框架,但是当我运行make命令时,我遇到了很多错误.我在64位Windows Vista下运行vmware上的虚拟32位Ubuntu 11.04.

cat /proc/version

Linux version 2.6.38-8-generic (buildd@vernadsky) (gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu3) ) #42-Ubuntu SMP Mon Apr 11 03:31:50 UTC 2011

我使用以下方法同步了一切:

repo init -u https://android.googlesource.com/platform/manifest
repo sync
Run Code Online (Sandbox Code Playgroud)

我使用以下方法选择了全工程目标:

lunch full-eng
Run Code Online (Sandbox Code Playgroud)

这是我得到的错误的部分列表:

PLATFORM_VERSION_CODENAME=AOSP
PLATFORM_VERSION=4.0.3.0.2.0.1.0
TARGET_PRODUCT=full
TARGET_BUILD_VARIANT=eng
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a
HOST_ARCH=x86
HOST_OS=linux
HOST_BUILD_TYPE=release
BUILD_ID=OPENMASTER
OUT_DIR=out

/bin/bash: line 0: cd: cts/tools/cts-native-xml-generator/src/res: No such file or directory
host Java: doclava (out/host/common/obj/JAVA_LIBRARIES/doclava_intermediates/classes)
external/doclava/src/com/google/doclava/ClassInfo.java:20: package com.sun.javadoc does not exist
import com.sun.javadoc.ClassDoc;
                      ^
external/doclava/src/com/google/doclava/ClassInfo.java:62: cannot find symbol
symbol …
Run Code Online (Sandbox Code Playgroud)

android frameworks build android-source

8
推荐指数
3
解决办法
5643
查看次数

启动ActionMode时有两个动作栏

我有以下活动布局:

<?xml version="1.0" encoding="utf-8"?>

<android.support.v4.widget.DrawerLayout
    android:id="@+id/drawerLayout"
    style="@style/DrawerLayout"
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools">

    <android.support.design.widget.CoordinatorLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fitsSystemWindows="true"
        tools:context=".ui.activity.MyActivity">

        <android.support.design.widget.AppBarLayout
            android:id="@+id/app_bar"
            android:layout_width="match_parent"
            android:layout_height="@dimen/app_bar_height"
            android:background="@color/black"
            android:fitsSystemWindows="true"
            android:theme="@style/AppTheme.AppBarOverlay">

            <android.support.design.widget.CollapsingToolbarLayout
                android:id="@+id/toolbar_layout"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:fitsSystemWindows="true"
                app:collapsedTitleTextAppearance="@style/ToolbarTitle"
                app:contentScrim="@color/primary"
                app:layout_scrollFlags="scroll|exitUntilCollapsed">

                <android.support.v7.widget.Toolbar
                    android:id="@+id/toolbar_top"
                    android:layout_width="match_parent"
                    android:layout_height="?attr/actionBarSize"
                    app:layout_collapseMode="pin"
                    app:popupTheme="@style/AppTheme.PopupOverlay"
                    app:theme="@style/ThemeOverlay.AppCompat.Light"/>

            </android.support.design.widget.CollapsingToolbarLayout>
        </android.support.design.widget.AppBarLayout>

        <my.package.ui.widget.MyHeaderWidget
            android:id="@+id/deal_header"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:layout_behavior="my.package.ui.activity.MyHeaderBehavior"/>

        <include layout="@layout/content_list"/>
    </android.support.design.widget.CoordinatorLayout>

    <include layout="@layout/navigation_view"/>

</android.support.v4.widget.DrawerLayout>
Run Code Online (Sandbox Code Playgroud)

它用于具有折叠工具栏+导航抽屉+标题动画和子标题(在标题小部件中).在我尝试启动ActionMode以启用多选之前,一切都很好.

我通过致电来做到:

    mActionMode = mCollapsingToolbarLayout.startActionMode(mActionModeCallback);
Run Code Online (Sandbox Code Playgroud)

问题是我结束了两个动作栏(有两个箭头):

查看截图

黑色的那个是我期待在那里的那个,当我启动ActionMode时添加了白色的那个.

难道我做错了什么?

编辑

AndroidMaifest中

    <activity
        android:name=".ui.activity.MyActivity"
        android:label="@string/title_activity"
        android:theme="@style/MyTheme">
    </activity>
Run Code Online (Sandbox Code Playgroud)

styles.xml中

<style name="MyTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="android:windowBackground">@drawable/window_background_gray</item>
    <item name="android:colorBackground">@color/app_background</item>
    <item name="displayOptions">showHome|homeAsUp|showTitle</item>
    <item name="android:icon">@android:color/transparent</item>
    <item …
Run Code Online (Sandbox Code Playgroud)

android toolbar android-actionmode

8
推荐指数
2
解决办法
2047
查看次数

从多平台 kotlin 项目访问 C/C++ lib

我第一次使用 Android Studio 构建多平台项目。我创建了一个 Android 应用程序模块,该模块使用 Android 上的多平台库。我还使用 XCode 构建了一个 iOS 应用程序,该应用程序使用 iOS 上的多平台库。一切工作正常,我能够使用由不同的Android 和 iOSexpect fun实现的。actual fun

我还用 C++ 创建了一个公开 C 接口的库。

#ifndef PINGLIB_LIBRARY_H
#define PINGLIB_LIBRARY_H

#ifdef __cplusplus
extern "C" {
#endif

typedef struct {
    long long elapsed;
} PingInfo;

typedef void (*PingCallback)(PingInfo pingInfo);
typedef struct
{
    PingCallback pingUpdate;
} PingObserver;

void* ping(const char * url, const PingCallback *pingCallback);
void subscribe(void* pingOperation);
void unsubscribe(void* pingOperation);

#ifdef __cplusplus
}
#endif

#endif //PINGLIB_LIBRARY_H
Run Code Online (Sandbox Code Playgroud)

我使用 CLion 构建 C++ 代码。我创建了一个 …

c++ android kotlin kotlin-native kotlin-multiplatform

8
推荐指数
1
解决办法
3296
查看次数

使用xamarin构建可在本机应用程序中使用的跨平台库

我想构建iOS原生应用和Android原生应用.我想保持管理视图的代码纯粹是原生的,即.为Android编写Java代码,为iOS编写Objective-C代码.

我想知道是否可以使用Xamarin(或其他工具/技术)在C#中构建库; 与模型,网络代码,行为逻辑(ViewModel东西)等可以在2个本机应用程序之间共享.如果有,怎么样?:)

谢谢!

android ios xamarin

7
推荐指数
1
解决办法
1972
查看次数

在ubuntu 10 64bit上安装java时出错

编辑

我添加了这个说明来解释为什么我在这里保留这个问题.我添加了"Android"作为关键字,我想知道是否其他人试图下载代码以及如何解决这个问题.我担心如果我问Ubuntu他们会建议我使用OpenJDK,但问题是:有人使用该SDK来构建Android代码吗?

原版的

前段时间我在Ubuntu 10 64bit上下载了android源代码.我遇到了问题,但最后我设法让一切正常.现在我想在同一个Ubuntu版本的全新安装上再次尝试,但我遇到了问题.

虽然我遵循了这里的说明,但我仍然遇到错误:

包sun-java6-jdk不可用,但是由另一个包引用.这可能意味着包丢失,已被淘汰或仅可从其他来源获得E:包sun-java6-jdk没有安装候选

谷歌搜索为您提供了许多结果,为您提供相同的解决方案:

sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"   
sudo apt-get update
sudo apt-get install sun-java6-jdk
Run Code Online (Sandbox Code Playgroud)

我做到了但它没有用.

我在VMWare下的VM上运行Ubuntu.

我还试图添加另一个来源:

sudo add-apt-repository"deb-src http://archive.canonical.com/ubuntu lucid partner

但它没有帮助

也许答案就在这里:

在SuperUser中回答

但奇怪的是,在Android门户网站上没有任何提及它

java ubuntu android install

6
推荐指数
1
解决办法
2420
查看次数

JUnit5IdeaTestRunner 运行单元测试失败

突然间,Android Studio 无法为我的模块之一运行单元测试。我收到错误:

Internal Error occurred. java.util.NoSuchElementException
at java.util.ArrayList$Itr.next(ArrayList.java:856)
at java.util.Collections$UnmodifiableCollection$1.next(Collections.java:1042)
at com.intellij.junit5.JUnit5TestRunnerUtil.createSelector(JUnit5TestRunnerUtil.java:181)
at com.intellij.junit5.JUnit5TestRunnerUtil.buildRequest(JUnit5TestRunnerUtil.java:70)
at com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:51)
at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47)
at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)
Run Code Online (Sandbox Code Playgroud)

我唯一需要知道的是这是否是一个已知问题。
请注意,如果我在外部终端或 Android Studio 或 CI 的终端中运行它们,所有模块的单元测试都会成功。
如果我在 Android Studio 上运行相同的单元测试配置,只更改模块,那么一切正常。

请不要让我发布build.gradle文件。虽然问题很可能存在,但它们太大了,更重要的是,如果这是问题所在,我不希望您调试它。

android junit5

6
推荐指数
1
解决办法
651
查看次数

发布 GitHub 包返回 422 错误

我在 Android 项目中使用 GitHub 包有一段时间了,没有任何问题。现在,当我尝试发布新包时,出现错误:

无法 PUT 从服务器接收到状态代码 422:无法处理的实体

为了确保我没有更改任何内容,我回到了几天前成功发布包的 git-tag,我只更改了版本以生成不同的包。我犯了同样的错误。

我添加了日志,我可以看到令牌被正确读取,所有值(组、版本等)似乎都是正确的,并且我尝试发布的文件位于正确的文件夹中。我还尝试创建和使用新令牌,以防旧令牌出现问题,但无济于事。

如果我发布了太多文件,GitHub 会拒绝发布该错误吗?我没有找到有关您在这种情况下遇到的错误的任何文档。

编辑

我还尝试创建一个新项目并发布到该项目,以防在最初的项目中出现问题,但它也不起作用。

我尝试直接使用 CURL 放置文件,这意味着令牌是正确的,并且问题不是已发布包的总大小限制:

curl -X PUT \
"https://maven.pkg.github.com/companyname/repositoryname/com/companyname/artifactid/v2.1.520/artifactid-v2.1.520.aar" \
-H "Authorization: token mytoken” \
--upload-file “/full/path/to/file.aar" -vvv
Run Code Online (Sandbox Code Playgroud)

当然,这不是解决方案,因为我需要使用 pom 等发布 maven repo。

结束编辑

在这里,我的配置已经工作了很长时间,并且只是按照文档+我添加的日志来调查问题。

build.gradle

allprojects {
    repositories {
        google()
        jcenter()
        maven {
            name = "GitHubPackages"
            url = uri("https://maven.pkg.github.com/companyname/companyname-android-sdk")
            credentials {
                username = project.findProperty("gpr.user") ?: System.getenv("GitHubPackagesUsername")
                password = project.findProperty("gpr.key") ?: System.getenv("GitHubPackagesToken")
                println "GitHubPackages build.gradle\n\tusername=$username\n\ttoken=$password"
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

publish-artifacts.gradle

publishing …
Run Code Online (Sandbox Code Playgroud)

android gradle github-package-registry

6
推荐指数
2
解决办法
1702
查看次数

AppCenter React Native Android 构建失败无法下载 groovy-all-2.4.15.jar (org.codehaus.groovy:groovy-all:2.4.15)

* 出了什么问题:任务 ':app:lintVitalRelease' 执行失败。无法解析配置“:app:lintClassPath”的所有文件。无法下载 groovy-all-2.4.15.jar (org.codehaus.groovy:groovy-all:2.4.15) > 无法获取资源 'https://jcenter.bintray.com/org/codehaus/groovy/groovy -all/2.4.15/groovy-all-2.4.15.jar'。> 无法获取“https://jcenter.bintray.com/org/codehaus/groovy/groovy-all/2.4.15/groovy-all-2.4.15.jar”。> 连接重置

* 尝试:使用 --stacktrace 选项运行以获取堆栈跟踪。使用 --info 或 --debug 选项运行以获得更多日志输出。使用 --scan 运行以获得完整的见解。

* 在https://help.gradle.org获得更多帮助

android react-native

6
推荐指数
1
解决办法
564
查看次数