我有一个使用本机库(.so)的应用程序.在新版本的应用程序中,我在lib中进行了更改.问题是升级应用程序后,看起来好像没有加载新库.如果我强制停止应用程序,然后我重新启动它一切正常.在某些情况下,等待一段时间(例如20分钟)可以解决问题.
有没有人遇到过这个问题?有办法解决吗?
编辑 我也试过打电话
System.loadLibrary("mylib.so");
Run Code Online (Sandbox Code Playgroud)
在OnUcegradeReceiver的onReceive中,它是在应用程序升级时注册被调用的广播接收器它没有帮助
EDIT2
我认为这个问题与lib使用音频引擎的事实有关.我之所以这么认为是因为我试图更改lib的名称,但它也没有帮助
我已经安装了 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) 我按照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) 我有以下活动布局:
<?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 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++ 代码。我创建了一个 …
我想构建iOS原生应用和Android原生应用.我想保持管理视图的代码纯粹是原生的,即.为Android编写Java代码,为iOS编写Objective-C代码.
我想知道是否可以使用Xamarin(或其他工具/技术)在C#中构建库; 与模型,网络代码,行为逻辑(ViewModel东西)等可以在2个本机应用程序之间共享.如果有,怎么样?:)
谢谢!
编辑
我添加了这个说明来解释为什么我在这里保留这个问题.我添加了"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
但它没有帮助
也许答案就在这里:
但奇怪的是,在Android门户网站上没有任何提及它
突然间,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 项目中使用 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) * 出了什么问题:任务 ':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 ×10
android-12 ×1
android-ndk ×1
build ×1
c++ ×1
frameworks ×1
gradle ×1
install ×1
ios ×1
java ×1
junit5 ×1
kotlin ×1
react-native ×1
toolbar ×1
ubuntu ×1
xamarin ×1