最近,我们开始在我们的crashlytics中看到这个新条目,该条目表示android无法在设备上找到webview包.
这是完整的堆栈跟踪(源代码中的类已被替换为.....:
Fatal Exception: android.view.InflateException: Binary XML file line #139: Binary XML file line #139: Error inflating class <unknown>
Caused by android.view.InflateException: Binary XML file line #139: Error inflating class <unknown>
Caused by java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.newInstance0(Constructor.java)
at java.lang.reflect.Constructor.newInstance(Constructor.java:430)
at android.view.LayoutInflater.createView(LayoutInflater.java:645)
at g.a.a.a.d.a(SourceFile:211)
at g.a.a.a.d.a(SourceFile:20)
at g.a.a.a.d$a.onCreateView(SourceFile:302)
at android.view.LayoutInflater$FactoryMerger.onCreateView(LayoutInflater.java:189)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:777)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:727)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:858)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:861)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:861)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:861)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821)
at android.view.LayoutInflater.inflate(LayoutInflater.java:518)
at g.a.a.a.d.inflate(SourceFile:60)
at android.view.LayoutInflater.inflate(LayoutInflater.java:426)
at android.view.LayoutInflater.inflate(LayoutInflater.java:377)
at ......(SourceFile:148) …Run Code Online (Sandbox Code Playgroud) 我com.nimbusds.jose.crypto在我的android客户端中使用库来做一些jwt的东西.
这是我在gradle文件中声明的内容:
compile 'com.nimbusds:nimbus-jose-jwt:4.23'
Run Code Online (Sandbox Code Playgroud)
在api> = 19时一切正常,但是当我在api 16上运行代码时,我得到了这个异常:
java.lang.NoClassDefFoundError: org.bouncycastle.crypto.engines.AESEngine.
这是什么问题?为什么AESENGINEapi 16上没有课程?
我在我的应用程序中使用确认凭据api来使用createConfirmDeviceCredentialIntent api 对用户进行身份验证.
当我将设备锁定为pin/pattern/password或fingerprint时,api工作正常.但是,它不适用于面部解锁的情况.我已经在我的设备中设置了面部解锁,并且在打开设备时工作正常.但是当我使用上面提到的api启动意图时,它不会识别面部解锁而是所有其他事情.
这是api的限制吗?或者我要做一些额外的事情来实现这个目标?
在任何地方都找不到这样的帖子.
在OS X上.
我试图通过boot2docker在docker容器中运行mysql,通过/var/lib/mysql在主机上安装卷,这样我就可以拥有持久的mysql数据.我计划将来使用仅数据容器,但是现在我正在尝试使用此选项.
我使用以下命令来运行容器:
docker run -v /Users/yash/summers/db:/var/lib/mysql -i -t 'image name'
该/Users/yash/summers/db文件夹已经存在.
我正面临着这方面的问题.使用命令行,我能够访问该目录,创建/删除新文件,但是当我运行时
service mysql start,我收到以下错误:
150528 15:43:43 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
150528 15:43:43 [Warning] Using unique option prefix key_buffer instead of key_buffer_size is deprecated and will be removed in a future release. Please use the full name instead.
150528 15:43:43 [Note] /usr/sbin/mysqld (mysqld 5.5.43-0ubuntu0.14.04.1) starting as process 909 ...
150528 15:43:43 [Warning] Setting lower_case_table_names=2 because file system for /var/lib/mysql/ …Run Code Online (Sandbox Code Playgroud) 从移后SqliteOpenHelper到room我的应用程序中,我试图写的测试DAO类。
我的 DAO 看起来像这样:
@Query("SELECT * FROM cards")
fun getAllCards(): List<CardData>
@Insert(onConflict = OnConflictStrategy.REPLACE)
fun insertCard(vararg cardData: CardData): List<Long>
@Query("SELECT * FROM cards ORDER BY isRead ASC, id DESC")
fun getItemList(): DataSource.Factory<Int, CardData>
@Query("SELECT * FROM cards where instr(title, :query) > 0 ORDER BY isRead ASC, id DESC")
fun getItemList(query: String): DataSource.Factory<Int, CardData>
@Query("UPDATE cards set isRead = 1 where title = :title")
fun markRead(title: String): Int
Run Code Online (Sandbox Code Playgroud)
在写测试getAllCards,insertCard并且markRead是微不足道的,我仍然不知道我怎么测试的API,其回报率 …
我最近将我的项目从laravel 4.2升级到laravel 5.0,并且遇到了一些错误.
我没有在4.2版本中定义任何名称空间,但如此处所示,
我已经开始在我的代码中定义名称空间.我不知道我面临的问题是否与此有关,但是在这个过程的中间发生了.
运行代码时出现以下错误:
exception 'Symfony\Component\Debug\Exception\FatalErrorException' with
message 'Cannot redeclare class App\models\Category' in
/Users/yash/summers/lightsCameraDinner/lcd_updated/app/models/Category.php:19
Run Code Online (Sandbox Code Playgroud)
这是我的Category.php:
<?php namespace App\models;
use Eloquent;
class Category extends Eloquent {
protected $table = 'categories';
protected $guarded = array('id');
// Defining 'Many to Many' Relationship with 'VendorProfile' Model
public function clients() {
return $this->belongsToMany('Client');
}
// Defining 'One to Many' Relationship with 'Job' Model
public function jobs() {
return $this->hasMany('Job');
}
}
Run Code Online (Sandbox Code Playgroud)
我在SO上搜索了类似的错误,但没有发现任何错误.
这是我的控制器中在"/"路由上调用的函数.
public function getIndex() {
$categories = Category::all();
$messages = …Run Code Online (Sandbox Code Playgroud) 我有一个主要活动A(PlacesListActivity).它从导航抽屉调用活动B(AboutMeActivity).我已将活动A声明为清单中B的父活动.
现在,当我从A-> B出发时,
如果我按下操作栏中的后退箭头,它会将我带回活动A.
关于硬件按钮,我必须按两次才能返回活动A.当我按下硬件一次后,没有任何反应.看起来它只是重新加载活动B.我不想要这个.按一下硬件按钮即可完成工作.
活动代码B:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_about_me);
initialize();
}
private void initialize() {
toolbar = (Toolbar) findViewById(R.id.toolbarAboutMe);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
.....
}
Run Code Online (Sandbox Code Playgroud)
initialize函数只是初始化一些UI元素.
呼叫活动代码B:
@Override
public void onDrawerItemSelected(View view, int position) {
Intent i;
switch (position) {
case 0:
i = new Intent(this, AboutMeActivity.class);
startActivity(i);
break;
......
Run Code Online (Sandbox Code Playgroud)
清单:
<activity
android:name="....AboutMeActivity"
android:parentActivityName="....PlacesListActivity">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="....PlacesListActivity" />
</activity>
Run Code Online (Sandbox Code Playgroud)
编辑:
我试过覆盖OnBackPressed(),但它永远不会被调用.
我试图重写OnKeyDown()并呼吁finish(),但仍然,我必须按两次才能回到活动A.
我试图在我的应用程序中集成架构组件,即分页、LiveData、ViewModel。Room 之前已经集成和测试过,所以我可以DataSource.Factory<Integer, DbEntity>从我的 DAO 类中返回一个。这是我创建 PagedList LiveData 的代码:
PagedList.Config pagedListConfig =
(new PagedList.Config.Builder()).setEnablePlaceholders(true)
.setPrefetchDistance(5)
.setPageSize(10)
.setInitialLoadSizeHint(10)
.build();
LiveData<PagedList<DbEntity>> dbEntities = new
LivePagedListBuilder<>(DAO.getItemList(timeNow), pagedListConfig).build();
Run Code Online (Sandbox Code Playgroud)
我正在我的片段类中观察这个实时数据:
viewModel.dbEntities.observe(this, new Observer<PagedList<DbEntity>>() {
@Override
public void onChanged(@Nullable PagedList<DbEntity> inboxEntities) {
adapter.submitList(inboxEntities);
}
});
Run Code Online (Sandbox Code Playgroud)
问题是绘制列表的时间太长,似乎列表中的所有项目 (1300) 都是在第一次绘制时绘制的。
我在两个地方验证了这一点:onChanged在 PagedList 大小等于 1300onBindViewHolder的情况下被调用,并且适配器被调用到 1300 以内的所有位置。
我在这里做错了吗?
在我的应用程序中集成性能 sdk 后,gradle 在构建项目时打印以下警告:
java.lang.IllegalStateException: Expecting .,<, or ;, 但在解包时发现 firebaseperf ;BuilderType:Lcom/google/android/gms/internal/firebase-perf/zzam;>Ljava/lang/Object;Lcom/google/android /gms/internal/firebase-perf/zzdf;
虽然它没有使构建失败,但我不确定这意味着什么,因此在我确定它不会导致任何问题之前不想将其推入生产。
有人可以在这里帮忙吗?
Performance sdk version: 15.2.0
Firebase core version: 15.0.2
Run Code Online (Sandbox Code Playgroud) 总而言之:
我需要类似android 服务的活动别名之类的东西。
完整版:
我正在数据库中存储某些服务的组件名称(完全限定名称)。现在,我需要将这些服务组件的物理位置从一个位置更改为另一个位置,这意味着它们的完全限定路径将发生变化,在这种情况下,它们的包也会发生变化。这意味着当我下次从数据库获取它们时,我将无法调用它们。
虽然在活动的情况下,我们可以在旧位置的清单中创建一个活动别名,但我没有看到类似的服务。
一个明显的解决方案是在启动时更新数据库,但我想知道是否有更优雅的解决方案可用。
编辑:我将在多个版本之间移动这些服务,因此这不会是单次迁移,并且我无法维护单个密钥作为迁移状态。
android ×8
android-architecture-components ×1
android-room ×1
boot2docker ×1
docker ×1
firebase ×1
java ×1
laravel-5 ×1
model ×1
webview ×1